6

送信された電子メールのMessageIDを保存したいので、後でそれをReferences:ヘッダーで使用してスレッド化を容易にします。

root / django / trunk / django / core / mail.py(行〜55)にMessageIDが作成されているのがわかります。

新しいバックエンドモジュールにコピーして貼り付けて返す以外に、この値を収集するための最良の方法を考えようとしています。多分それが最善の方法ですか?

4

2 に答える 2

12

わかりました。悲劇的に古いコードを閲覧していたようです。sendを呼び出す前に、django.core.mail.message.make_msgid()を呼び出して、自分でヘッダーにデータを入力できるはずです。

于 2010-08-12T19:02:29.453 に答える
0

すべてのバックエンドが実際にメッセージ 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)
于 2011-05-22T16:52:50.520 に答える