送信された電子メールのMessageIDを保存したいので、後でそれをReferences:ヘッダーで使用してスレッド化を容易にします。
root / django / trunk / django / core / mail.py(行〜55)にMessageIDが作成されているのがわかります。
新しいバックエンドモジュールにコピーして貼り付けて返す以外に、この値を収集するための最良の方法を考えようとしています。多分それが最善の方法ですか?
送信された電子メールのMessageIDを保存したいので、後でそれをReferences:ヘッダーで使用してスレッド化を容易にします。
root / django / trunk / django / core / mail.py(行〜55)にMessageIDが作成されているのがわかります。
新しいバックエンドモジュールにコピーして貼り付けて返す以外に、この値を収集するための最良の方法を考えようとしています。多分それが最善の方法ですか?
わかりました。悲劇的に古いコードを閲覧していたようです。sendを呼び出す前に、django.core.mail.message.make_msgid()を呼び出して、自分でヘッダーにデータを入力できるはずです。
すべてのバックエンドが実際にメッセージ ID のアサートをサポートしているわけではありません (たとえば、SES は独自のメッセージ ID を設定し、それを送信応答で返します)。新しい (1.1 年頃?) EmailMessageクラスを使用すると、返された/生成された/設定されたメッセージ ID を実際に引き出すことができます。.send() を呼び出すと、返されたメッセージ ID をインスタンスから抽出できます。
e=EmailMessage(
subject,
content,
from_email,
recipient_list,
headers = headers,
)
e.send()
message_id = e.extra_headers.get('Message-Id',None)