Javamail-api-bounced-messages
JavaMail API-バウンスされたメッセージ
メッセージはいくつかの理由で返送されます。 この問題については、http://www.rfc-editor.org/info/rfc1211 [rfc1211]で詳しく説明されています。 サーバーのみが特定のメールボックスまたはユーザー名の存在を判断できます。 サーバーは、エラーを検出すると、失敗の理由を示すメッセージを元のメッセージの送信者に返します。
配信ステータス通知をカバーする多くのインターネット標準がありますが、多くのサーバーはこれらの新しい標準をサポートせず、代わりにそのような失敗メッセージを返すためのアドホック技術を使用します。 したがって、_bounced_メッセージを問題の原因となった元のメッセージと関連付けることは非常に困難になります。
JavaMailには、配信ステータス通知の解析のサポートが含まれています。 この問題に対処するための多くのテクニックとヒューリスティックがあります。 可変エンベロープリターンパスである手法の1つ。 以下の例に示すように、エンベロープでリターンパスを設定できます。 これは、バウンスメールの送信先アドレスです。 これを、From:ヘッダーとは異なる汎用アドレスに設定すると、リモートバウンスを処理できます。 これは、JavaMailで_mail.smtp.from_プロパティを設定することにより行われます。
Javaクラスを作成する
Javaクラスファイル SendEmail を作成します。その内容は次のとおりです。
ここで、プロパティ_mail.smtp.from_が_from_アドレスとは異なるように設定されていることがわかります。
コンパイルして実行する
クラスの準備ができたので、上記のクラスをコンパイルしましょう。 クラスSendEmail.javaをディレクトリ /home/manisha/JavaMailAPIExercise に保存しました。 クラスパスに_javax.mail.jar_および_activation.jar_のjarが必要です。 以下のコマンドを実行して、コマンドプロンプトからクラス(両方のjarが/home/manisha/ディレクトリに配置されます)をコンパイルします。
クラスがコンパイルされたので、次のコマンドを実行して実行します。
出力を検証する
コマンドコンソールに次のメッセージが表示されます。