JavaMailを使用して送信者アドレス以外のメールアドレスにReturn-Pathを設定するにはどうすればよいですか?JavaMailを使用してSenderアドレス以外のEメールアドレスにReturn-Pathを設定するにはどうすればよいですか?
答えて
以下のコードは、適切な方法で行い、正しい方法で行います。あなた自身がコメントで掲示何再読から
:の 先頭にリターンパス行を挿入すること RFC2821: 4.4 Trace Information
配信SMTPサーバがメッセージの 「最終配信」を作ります、メールデータ。これはreturn-pathの を使用する必要があります。メール システムはそれをサポートしなければならない。 リターンパス行には、 のMAILコマンドの情報が保存されます( )。ここで、最後の 配信は、メッセージがSMTP環境の を残したことを意味します。通常、この は、宛先ユーザ に配信されたことを意味します。または、 メールが削除されたことを意味します。
と数行後です。
メッセージ発信SMTPシステム は、既にはリターンパスヘッダを含むメッセージを送るべきではありません。
これを注意深く読んだ場合、最終的なsmtp-server/deliveryエージェントだけがReturn-Path
ヘッダーを追加することになります。クライアント(メールを送信しようとする)がすべきことではありません。最終的なsmtp-serverは、Return-Path
ヘッダーをエンベロープの送信者アドレス(SMTP MAIL FROM
部分)に基づいています。
したがって、mail.smtp.from
を設定すると、エンベロープの送信者アドレスがfrom
の部分と異なる必要があることをjavaに伝える正しい方法です。
異なるfrom
のものが何であるかを理解することに問題がある場合は、telnet smtp-sessionを見てください。 [email protected]
がm.addFrom(...);
telnet smtp.example.com 25
220 smtp.example.com ESMTP .....
helo computername
250 smtp.example.com Hello computername [123.123.123.123]
mail from:<[email protected]>
250 <[email protected]> is syntactically correct
rcpt to:<[email protected]>
250 <[email protected]> verified
data
354 Enter message, ending with "." on a line by itself
To: Joey <[email protected]>
From: Joey <[email protected]>
Subject: Joey
Hey Joey!
.
250 OK id=....
Quit
props.put("mail.smtp.from", "[email protected]");
Session session = Session.getDefaultInstance(props, null);
MimeMessage m = new MimeMessage(session);
m.addFrom(InternetAddress.parse("[email protected]"));
にsmtp.mail.from
と[email protected]
に対応している必要があり、どこで同じ問題を経験し、「(唯一の解決策は、プロパティ「mail.smtp.from」props.putを入れて議論見つけましたmail.smtp.from "、" [email protected] ");
私はたくさんの電子メールを別のユーザーから送信しているため、このソリューションは適していないため、各電子メールのセッションを再作成することは、プロディクティビティにとって恐ろしいことになります。
だから私は、JavaMailのソースを読んだ後に、別の解決策が見つかりました:代わりのMimeMessageの
1)使用SMTPMessage(のMimeMessageを拡張します)。
2)setEnvelopeFrom(String)メソッドを使用します。
3)SMTPTransportを使用して電子メールを送信します(私は他人とは試しませんでした)。ここで
はコードの例です:
SMTPMessage message = new SMTPMessage(session);
message.setEnvelopeFrom("[email protected]");
...
transport.sendMessage(message, message.getAllRecipients());
- 1. EメールアドレスをレールPUTリクエストのパラメータとして使用するにはどうすればよいですか?
- 2. DocuSignのNameフィールドにSender名以外の値を入力するにはどうすればよいですか?
- 3. JavaMail replyToをcoldfusionに追加するにはどうすればよいですか?私は、次のようなものだろうにJavaMailを使用して
- 4. mod_rewriteを使用してアセット以外のindex.phpにリダイレクトするにはどうすればよいですか?
- 5. 設定ファイルを使用してElastic Beanstalkソリューションスタックを設定するにはどうすればよいですか?
- 6. www以外のドメインにhtaccessを設定するにはどうすればよいですか?
- 7. プリンタ設定を設定するのにC#を使用するにはどうすればよいですか?
- 8. iOSでFirebaseを使用してユーザーのメールアドレスを確認するにはどうすればよいですか?
- 9. カスタムロギング設定を使用するにはどうすればよいですか?
- 10. root以外のユーザーでcronjobを設定するにはどうすればよいですか?
- 11. jinjaコンテキスト関数で(グローバル以外の)変数を設定するにはどうすればよいですか?
- 12. IPアドレスをプログラムによって設定するにはどうすればよいですか?
- 13. AS3を使用してTVOS用にアプリiiconを設定するにはどうすればよいですか?
- 14. SMTPを使用してSpring JavaMailSenderをSES用に設定するにはどうすればよいですか?
- 15. interopを使用してstring.emptyにセルの値を設定するにはどうすればよいですか?
- 16. Javaでcom.google.gson.JsonObjectを使用して値をnullに設定するにはどうすればよいですか?
- 17. Javaでorg.json.JSONObjectを使用して値をnullに設定するにはどうすればよいですか?
- 18. 安心してリクエストを使用してクッキーを設定するにはどうすればよいですか?
- 19. クエリパラメータでredirect_toをRails以外のURLに使用するにはどうすればよいですか?
- 20. reactor-nettyをSSLを使用するように設定するにはどうすればよいですか?
- 21. HTTPSを使用するようにYii Frameworkを設定するにはどうすればよいですか?
- 22. Prologモードを使用するようにAquamacsを設定するにはどうすればよいですか?
- 23. Windows PowerShellを使用するようにXAMPPを設定するにはどうすればよいですか?
- 24. showsTouchWhenHighlightedを使用するようにUIButtonを設定するにはどうすればよいですか?
- 25. ベクターグラフィックを使用するようにGoogle AppEngineを設定するにはどうすればよいですか?
- 26. JScrollPaneを使用するようにJCheckBoxを設定するにはどうすればよいですか?
- 27. WinSpool APIを使用して用紙サイズを設定するにはどうすればよいですか?
- 28. RedditのスクレイピングにPrawを設定して使用するにはどうすればよいですか?
- 29. ApplicationSettingsBaseを使用してカスタムクラスをユーザー設定に保存するにはどうすればよいですか?
- 30. ノードjs APIを使用してブラウザにCookieを設定するにはどうすればよいですか?
私はそれが解決策になると信じています。しかし、私が読んだことから、メールサーバーはそれをサポートしなければなりません。 "配信SMTPサーバーがメッセージの「最終配信」を行うと、メールデータの先頭に復帰パス行が挿入されます。パスラインはMAILコマンドのに情報を保存します。 " http://www.ietf.org/rfc/rfc2821.txt –
Ricardo
拡張回答を確認 – jitter
私はこれをコードの他の多くのレベルで実行しようとしていますが、これは私のために働いた唯一の解決策です – kommradHomer