メールを送信し、ほとんどのヘッダーを問題なく設定できます。
しかし、これはかなり長い間奇妙な結果をもたらしてきました。
これは私が現在いる場所です:
email = EmailMessage(
'My foobar subject!!',
render_to_string(
'emails/new_foobar_email.txt',
{
'foo': foo.something,
'bar': bar.something,
}
),
'notify@foobar.com',
[the_user.email, ],
headers={'From ': 'Darth Vader <darth@vader.com>'},
)
email.send(
fail_silently=False
)
メールが届くと、「Darth Vader」ではなく「notify@foobar.com」からのものであると表示されます。
私はこのようにヘッダーを設定しようとしました:
# this way worked but was inconsistent. Some email clients showed it was from "unknown sender".
headers={'From ': 'Darth Vader'},
Internet Message Formats (RFC 2822)に関するこのドキュメントを調べてみましたが、ベスト プラクティスに従っているかどうかがはっきりしませんでした。
このSO Questionも見ましたが、 send_mail() 関数に適用されます。似ているかもしれませんが、違います。
メール クライアントが正しく表示されるかどうかは気にしていません (非常に多くの異なる方法を試し、間違った方法の 1 つをキャッシュした可能性があるため、問題が発生する可能性があります..) が、ベスト プラクティスに従うことには関心があります。そのため、ほとんどの電子メール クライアントで機能します。
質問
EmailMessage クラスを使用して電子メールに「From」ヘッダーを設定する適切な方法は何ですか? また、メール クライアントと最も互換性のある方法は何ですか?