メールからメッセージ内容を抽出

画面上にメール情報を表示

この MailMessage メールメッセージを表し、開発者がメールメッセージのプロパティにアクセスできるようにします。ヘッダー情報(以下で説明) メールヘッダーの抽出)はさまざまな方法で抽出および操作できます。本記事では、選択したメールヘッダー情報とメール本文を画面に表示する方法を説明します。

  1. MailMessage のインスタンスを作成する。
  2. MailMessage インスタンスにメールメッセージをロードする。
  3. メール内容を画面に表示する。

以下のコードは、メールメッセージをロードし、送信元、宛先、件名、メール本文を画面に表示する方法を示しています。

メッセージの日付時刻の取得

この MailMessage このクラスは、メッセージの日付をUTCまたはローカルタイムゾーンで取得するために使用できます。この情報は以下のように要約できます:

  1. MailMessage.getDate() - UTCで日付を返します
  2. MailMessage.getLocalDate() - ローカルタイムゾーンの日付を返します
  3. MailMessage.isLocalDate ローカルタイムゾーンに MailMessage.getDate() がある場合、true を返します

メールヘッダーの抽出

メールヘッダーは、インターネットメールメッセージに含まれる、Internet および RFC で定義された標準ヘッダー フィールドの集合を表します。メールヘッダーは次を使用して指定できます MailMessage クラスです。共通のヘッダータイプは以下で定義されています: HeaderType クラスです。通常の列挙体のように機能する sealed クラスです。

メールからヘッダーを抽出するには、以下の手順に従ってください:

  1. MailMessage クラスのインスタンスを作成する。
  2. MailMessage クラスのインスタンスにメールメッセージをロードする。
  3. メールメッセージをロードした後、その生データを取得します。MailMessage クラス自体には From、To、Cc、Subject などのプロパティがあり、これらはヘッダーから抽出できます。
  4. 生データを表示する。

デコードされたヘッダー値の取得

リンクリソースの Disposition ヘッダーを取得および変更

リンクされたリソースは、メールメッセージオブジェクト内でプログラム的にアクセスおよび操作できます。 getContentDisposition() メソッド( LinkedResource このクラスは Content-Disposition ヘッダーを取得します。以下のコードサンプルは、リンクされたリソースのファイル名にアクセスし、変更する方法を示しています:

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

HTML本文をプレーンテキストとして取得

この MailMessage このクラスは、メッセージの HTML 本文をプレーンテキストとして抽出する機能を提供します。MailMessage クラスは GetHtmlBodyText プレーンテキストでHTML本文を返すメソッドです。GetHtmlBodyText メソッドは、本文にURLを含めるかどうかを示すブールパラメータを受け取ります。パラメータに true を渡すと、HTML本文にURLが含まれます。

以下のコードスニペットは、GetHtmlBodyText メソッドを使用してメールの HTML 本文をプレーンテキストとして抽出する方法を示しています。

メールから X.500 Exchange アドレスを取得

Aspose.Email for Java を使用すると、X.500 Exchange アドレスに直接アクセスできます。 MailAddress クラスです。これに X500Address このプロパティを使用すると、利用可能な場合に Exchange の X.500 形式のメールアドレスを取得できます。以下のコードサンプルは、メールメッセージをロードし、送信者の X.500 アドレスを取得する方法を示しています:

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

X.500 アドレスが存在する場合、文字列として返され、Exchange ベースのシステムと連携するアプリケーションでさらなる処理やログ記録に使用できます。

HTMLメールでリンクされた画像を抽出し、添付ファイルとして埋め込む

Aspose.Email ExtractHTMLBodyResourcesAsAttachments メソッド( HtmlSaveOption このクラスは、HTML 本文のリソースを添付ファイルとして抽出するかどうかを定義します。これにより、HTML 本文から画像リンクされたコンテンツを抽出し、MIME メッセージの添付ファイルとして埋め込むことができます。リンクされた画像は保持され、メールに適切に関連付けられるため、コンテンツの完全性とオフラインでのアクセス性が向上します。

以下のコードサンプルは、このタスクを実行する方法を示しています:

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());
    }
});