Читайте електронні листи в Java

У деяких випадках вам може знадобитися прочитати та проаналізувати повідомлення електронної пошти EML або MSG у ваших програмах. Щоб зробити це програмним шляхом, у цій статті показано, як отримати інформацію з повідомлень електронної пошти в Java. Зокрема, ви дізнаєтесь, як читати тему електронного листа, інформацію до, від, тіло та заголовок.

Java API для читання електронних листів

Щоб прочитати електронні листи, ми будемо використовувати Aspose.Email for Java. Це потужний API, який дозволяє створювати багатофункціональні клієнти електронної пошти на Java. Ви можете завантажити JAR API або встановити його за допомогою наведених нижче конфігурацій Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>21.3</version>
    <classifier>jdk16</classifier>
</dependency>

Прочитайте повідомлення електронної пошти за допомогою Java

Нижче наведено кроки, щоб прочитати повідомлення електронної пошти на Java.

  • Завантажте файл електронної пошти за допомогою класу MailMessage.
  • Прочитайте вміст електронного листа за допомогою об’єкта MailMessage, наприклад «Кому», «Від», «Тема», «Тіло» тощо.

У наведеному нижче прикладі коду показано, як читати повідомлення електронної пошти за допомогою Java.

// Створіть екземпляр MailMessage, завантаживши файл Eml
MailMessage message = MailMessage.load("test.eml");

System.out.print("From: ");
// Отримати інформацію про відправника
System.out.println(message.getFrom());
		
System.out.print("To: ");
// Отримати інформацію про одержувачів
System.out.println(message.getTo());
		
System.out.print("Subject: ");
// Отримати предмет
System.out.println(message.getSubject());
		
System.out.print("HtmlBody: ");
// Отримайте тіло HTML
System.out.println(message.getHtmlBody());
		
System.out.print("TextBody: ");
// Отримує тіло тексту
System.out.println(message.getTextBody());
		
System.out.print("HtmlBodyText: ");
// Отримує тіло тексту from HTML
System.out.println(message.getHtmlBodyText());

Витягніть тіло електронної пошти як звичайний текст у Java

Ви також можете прочитати електронний лист і витягнути його тіло як звичайний текст замість HTML. Нижче наведено кроки для виконання цієї операції.

  • Завантажте файл електронної пошти за допомогою класу MailMessage.
  • Витягніть тіло електронної пошти за допомогою методу MailMessage.getHtmlBodyText(boolean).

У наведеному нижче прикладі коду показано, як витягти тіло електронного листа як звичайний текст у Java.

// Завантажити повідомлення електронної пошти
MailMessage mail = MailMessage.load("HtmlWithUrlSample.eml");

body_with_url = mail.getHtmlBodyText(true);// body will contain URL
String body_without_url = mail.getHtmlBodyText(false);// body will not contain URL

// Роздрукувати повідомлення електронної пошти
System.out.println("Body with URL: " + body_with_url);
System.out.println("Body without URL: " + body_without_url);

Витягти інформацію заголовка з електронного листа в Java

Aspose.Email for Java також дозволяє читати інформацію заголовка повідомлення електронної пошти. Нижче наведено кроки для виконання цієї операції.

  • Завантажте файл електронної пошти за допомогою класу MailMessage.
  • Перегляньте колекцію заголовків електронної пошти за допомогою методу MailMessage.getHeaders().

У наведеному нижче прикладі коду показано, як читати заголовок повідомлення електронної пошти за допомогою Java.

// Створіть екземпляр MailMessage, завантаживши файл EML
MailMessage message = MailMessage.load("test.eml");

// Роздрукуйте всі заголовки
System.out.println("Printing all Headers:\n\n");
for (int i=0; i< message.getHeaders().size(); i++)
	System.out.println(message.getHeaders().get(i));

Декодуйте заголовки електронної пошти в Java

Ви також можете розшифрувати заголовки електронної пошти, виконавши такі дії.

У наведеному нижче прикладі коду показано, як декодувати значення заголовка електронної пошти в Java.

// Завантажити повідомлення електронної пошти
MailMessage mail = MailMessage.load("test.eml");

// Отримати декодоване значення із заголовка
String decodedValue = mail.getHeaders().getDecodedValue("Thread-Topic");

// Роздрукуйте значення
System.out.println(decodedValue);

Отримайте безкоштовну ліцензію API

Ви можете подати запит на безкоштовну тимчасову ліцензію, щоб використовувати API без обмежень оцінки.

Жива демо

Висновок

У цій статті ви дізналися, як читати повідомлення електронної пошти за допомогою Java. Крім того, ви бачили, як отримати інформацію заголовка з повідомлення електронної пошти. Ви можете дізнатися більше про API електронної пошти Java за допомогою документації. Крім того, ви можете зв’язатися з нами через наш форум у разі будь-яких питань.

Дивись також