Czytaj e-maile w Javie

W niektórych przypadkach może być konieczne odczytanie i przeanalizowanie wiadomości e-mail EML lub MSG z poziomu aplikacji. Aby zrobić to programowo, w tym artykule pokazano, jak wyodrębnić informacje z wiadomości e-mail w Javie. W szczególności dowiesz się, jak czytać temat wiadomości e-mail, do, od, treść i informacje w nagłówku.

Java API do odczytu wiadomości e-mail

Do odczytania wiadomości e-mail użyjemy Aspose.Email for Java. Jest to potężny interfejs API, który umożliwia tworzenie bogatych w funkcje klientów poczty e-mail w Javie. Możesz pobrać plik JAR interfejsu API lub zainstalować go przy użyciu następujących konfiguracji Mavena.

<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>

Przeczytaj wiadomość e-mail za pomocą języka Java

Poniżej przedstawiono kroki, aby przeczytać wiadomość e-mail w Javie.

  • Załaduj plik e-mail, używając klasy MailMessage.
  • Przeczytaj treść wiadomości e-mail za pomocą obiektu MailMessage, takiego jak Do, Od, Temat, Treść itp.

Poniższy przykładowy kod pokazuje, jak odczytać wiadomość e-mail przy użyciu języka Java.

// Utwórz instancję MailMessage, ładując plik Eml
MailMessage message = MailMessage.load("test.eml");

System.out.print("From: ");
// Uzyskaj informacje o nadawcy
System.out.println(message.getFrom());
		
System.out.print("To: ");
// Uzyskaj informacje o odbiorcach
System.out.println(message.getTo());
		
System.out.print("Subject: ");
// Zdobądź temat
System.out.println(message.getSubject());
		
System.out.print("HtmlBody: ");
// Pobierz treść HTML
System.out.println(message.getHtmlBody());
		
System.out.print("TextBody: ");
// Pobiera treść tekstu
System.out.println(message.getTextBody());
		
System.out.print("HtmlBodyText: ");
// Pobiera treść tekstu from HTML
System.out.println(message.getHtmlBodyText());

Wyodrębnij treść wiadomości e-mail jako zwykły tekst w Javie

Możesz także przeczytać wiadomość e-mail i wyodrębnić jej treść jako zwykły tekst zamiast HTML. Poniżej przedstawiono kroki, aby wykonać tę operację.

Poniższy przykładowy kod pokazuje, jak wyodrębnić treść wiadomości e-mail jako zwykły tekst w Javie.

// Załaduj wiadomość e-mail
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

// Wydrukuj wiadomość e-mail
System.out.println("Body with URL: " + body_with_url);
System.out.println("Body without URL: " + body_without_url);

Wyodrębnij informacje nagłówka z wiadomości e-mail w Javie

Aspose.Email dla Javy umożliwia również odczytanie informacji z nagłówka wiadomości e-mail. Poniżej przedstawiono kroki, aby wykonać tę operację.

Poniższy przykładowy kod pokazuje, jak odczytać nagłówek wiadomości e-mail przy użyciu języka Java.

// Utwórz instancję MailMessage, ładując plik EML
MailMessage message = MailMessage.load("test.eml");

// Wydrukuj wszystkie nagłówki
System.out.println("Printing all Headers:\n\n");
for (int i=0; i< message.getHeaders().size(); i++)
	System.out.println(message.getHeaders().get(i));

Dekoduj nagłówki e-maili w Javie

Możesz także odkodować nagłówki wiadomości e-mail, wykonując następujące czynności.

Poniższy przykładowy kod pokazuje, jak zdekodować wartość nagłówka wiadomości e-mail w Javie.

// Załaduj wiadomość e-mail
MailMessage mail = MailMessage.load("test.eml");

// Uzyskaj zdekodowaną wartość z nagłówka
String decodedValue = mail.getHeaders().getDecodedValue("Thread-Topic");

// Wydrukuj wartość
System.out.println(decodedValue);

Uzyskaj bezpłatną licencję API

Możesz poprosić o bezpłatną tymczasową licencję, aby korzystać z API bez ograniczeń ewaluacyjnych.

Demo na żywo

Wniosek

W tym artykule nauczyłeś się czytać wiadomości e-mail za pomocą języka Java. Ponadto widziałeś, jak wyodrębnić informacje nagłówka z wiadomości e-mail. Możesz dowiedzieć się więcej o interfejsie API poczty e-mail Java, korzystając z dokumentacji. Ponadto możesz skontaktować się z nami za pośrednictwem naszego forum w przypadku jakichkolwiek pytań.

Zobacz też