JavaMail で Return-Path, Errors-To を設定するには?

投稿者 : OSCA

[PR] "東野・岡村の旅猿"で登場したロケ地を紹介するファンサイト「あの場所へ行こう!」はこちら。

JavaMail で Return-Path, Errors-To を設定するには?

 電子メールを送信した際、宛先(To)に設定したメールアドレスが存在しない場合などに、相手のメールサーバの Mailer-Deamon からエラーメールが返送される場合があります。 エラーメールの返送先を指定するためのメールヘッダが「Return-Path」や「Errors-To」です。

 Java のメール送信ライブラリ JavaMail では、特に意図的に「Return-Path」や「Errors-To」を設定しなかった場合、From で設定したメールアドレスが「Return-Path」ヘッダに設定されます。 「Errors-To」ヘッダは設定されません。

Return-Path

 「Return-Path」ヘッダは、セッションに「mail.smtp.from」プロパティを設定してあげることで設定してくれるようです。

Properties properties = new Properties();
properties.put("mail.smtp.from", "tom@hogemoge.com");
Session session = Session.getInstance(properties, null);

 Return-Path を下記の Errors-To のように自力でヘッダに設定しても反映されないので注意が必要です。

Errors-To

 「Errors-To」ヘッダは、次のようにメッセージクラスに追加ヘッダとして設定してあげます。

MimeMessage mimeMessage = new MimeMessage(session);
mimeMessage.setHeader("Errors-To", "tom@hogemoge.com");

Java環境構築へ戻る

Javaのトップへ戻る

著者 : OSCA

OSCA

Java, PHP 系のWEBエンジニア。 WEBエンジニア向けコミュニティ「WEBエンジニア勉強会」を主催。 個人として何か一つでも世の中の多くの人に使ってもらえるものを作ろうと日々奮闘中。
@engineer_osca