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");