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

投稿者 : OSCA

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環境構築へ戻る

著者 : OSCA

OSCA

 初級WEBエンジニアです。最近は Android, iOS, WEBアプリの作成に力を入れています。 個人として何か一つでも世の中の多くの人に使ってもらえるアプリを作ろうと日々奮闘中です。