Wyodrębnianie treści wiadomości z e‑maili

Wyświetlanie informacji e‑mail na ekranie

Ten MailMessage reprezentuje wiadomość e‑mail i umożliwia programistom dostęp do właściwości wiadomości e‑mail. Informacje nagłówka (omówione w Wyodrębnianie nagłówków e‑mail) może być wyodrębniony i manipulowany na różne sposoby. Ten artykuł wyjaśnia, jak wyświetlić wybrane informacje nagłówka e‑mail oraz treść wiadomości na ekranie.

  1. Utwórz instancję MailMessage.
  2. Załaduj wiadomość e‑mail do instancji MailMessage.
  3. Wyświetl zawartość e‑maila na ekranie.

Poniższy kod demonstruje, jak załadować wiadomość e‑mail i wyświetlić jej zawartość – nadawcę, odbiorcę, temat i treść wiadomości – na ekranie.

Uzyskiwanie daty i czasu wiadomości

Ten MailMessage klasa może być użyta do pobrania daty wiadomości w UTC lub w lokalnej strefie czasowej. Informacje te można podsumować w następujący sposób:

  1. MailMessage.getDate() - zwraca datę w UTC
  2. MailMessage.getLocalDate() - zwraca datę w lokalnej strefie czasowej
  3. MailMessage.isLocalDate Zwraca true, jeśli MailMessage.getDate() jest w lokalnej strefie czasowej

Wyodrębnianie nagłówków e‑mail

Nagłówek e‑mail reprezentuje zestaw pól nagłówka określony przez Internet i RFC, włączony w wiadomości e‑mail. Nagłówek e‑mail może być określony przy użyciu MailMessage klasa. Powszechne typy nagłówków są zdefiniowane w HeaderType klasa. Jest to klasa zapieczętowana działająca jak zwykła wyliczanka.

Aby wyodrębnić nagłówki z e‑maila, wykonaj następujące kroki:

  1. Utwórz instancję klasy MailMessage.
  2. Załaduj wiadomość e‑mail w instancji klasy MailMessage.
  3. Po załadowaniu wiadomości e‑mail uzyskamy jej surową treść. Klasa MailMessage sama zawiera właściwości takie jak From, To, Cc, Subject i inne. Właściwości te mogą być wyodrębnione z nagłówków.
  4. Wyświetl surową treść.

Pobierz zdekodowane wartości nagłówków

Pobierz i zmodyfikuj nagłówek Disposition powiązanego zasobu

Powiązany zasób może być dostępny i manipulowany programowo w obiekcie wiadomości e‑mail. The getContentDisposition() metoda LinkedResource klasa pobiera nagłówek Content-Disposition. Poniższy przykład kodu pokazuje, jak uzyskać dostęp i zmodyfikować nazwę pliku powiązanego zasobu:

MailMessage eml = MailMessage.load(fileName);
eml.getLinkedResources().get_Item(0).getContentDisposition().setFileName("changed.png");

Pobierz ciało HTML jako zwykły tekst

Ten MailMessage klasa zapewnia możliwość wyodrębnienia ciała HTML wiadomości jako zwykłego tekstu. Klasa MailMessage zapewnia GetHtmlBodyText metoda, która zwraca ciało HTML w postaci zwykłego tekstu. Metoda GetHtmlBodyText przyjmuje parametr typu boolean określający, czy ciało powinno zawierać adresy URL. Przekazanie parametru jako true wskazuje, że ciało HTML powinno zawierać adresy URL.

Poniższy fragment kodu demonstruje użycie metody GetHtmlBodyText do wyodrębnienia ciała wiadomości HTML jako zwykłego tekstu.

Pobieranie adresów X.500 Exchange z wiadomości e‑mail

Aspose.Email for Java umożliwia bezpośredni dostęp do adresów X.500 Exchange poprzez MailAddress klasa. Z X500Address właściwość, dzięki której możesz pobrać adres e‑mail w formacie X.500 Exchange, gdy jest dostępny. Poniższy przykład kodu pokazuje, jak załadować wiadomość e‑mail i uzyskać adres X.500 nadawcy:

MailMessage mailMessage = MailMessage.load(fileName);
String exaddr = mailMessage.getFrom().getX500Address();

Jeśli adres X.500 istnieje, zostanie zwrócony jako ciąg znaków i może być użyty do dalszego przetwarzania lub logowania w aplikacjach współpracujących z systemami opartymi na Exchange.

Wyodrębnij i osadź powiązane obrazy jako załączniki w wiadomościach HTML

Aspose.Email ExtractHTMLBodyResourcesAsAttachments metoda HtmlSaveOption klasa określa, czy wyodrębniać zasoby ciała HTML jako załączniki. Dzięki temu możesz wyodrębnić treść powiązaną z obrazkami z ciała HTML i osadzić ją jako załącznik w wiadomości MIME. Powiązane obrazy są zachowane i prawidłowo powiązane z e‑mailem, co poprawia integralność treści i dostępność offline.

Poniższy przykład kodu demonstruje, jak wykonać to zadanie:

MailMessage mailMessage = MailMessage.load("input.eml");
HtmlSaveOptions options = new HtmlSaveOptions();
options.setExtractHTMLBodyResourcesAsAttachments(true);
options.setResourceHtmlRenderingHandler(new ResourceHtmlRenderingHandler() {
    public void invoke(final Object sender, final ResourceHtmlRenderingEventArgs e) {
        System.out.println(e.getPathToResourceFile() + " " + ((Attachment)sender).getContentId());
    }
});