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
- Przeczytaj wiadomość e-mail za pomocą języka Java
- Wyodrębnij treść e-maila jako zwykły tekst
- Wyodrębnij informacje nagłówka z wiadomości e-mail
- Odszyfruj wartość nagłówka wiadomości e-mail
- Uzyskaj bezpłatną licencję API
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ę.
- Załaduj plik e-mail, używając klasy MailMessage.
- Wyodrębnij treść wiadomości e-mail za pomocą metody MailMessage.getHtmlBodyText(boolean).
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ę.
- Załaduj plik e-mail, używając klasy MailMessage.
- Przejrzyj kolekcję nagłówków wiadomości e-mail za pomocą metody MailMessage.getHeaders().
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.
- Załaduj plik e-mail, używając klasy MailMessage.
- Uzyskaj zdekodowaną wartość nagłówka wiadomości e-mail za pomocą metody MailMessage.getHeaders().getDecodedValue(String name).
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ń.