Какой самый простой / чистый способ получить MessageID отправленного электронного письма? - PullRequest
4 голосов
/ 12 августа 2010

Я хочу сохранить MessageID отправленного электронного письма, чтобы позднее я мог использовать его в заголовке References: для облегчения работы с потоками.

Я вижу в root / django / trunk / django / core / mail.py (строка ~ 55), где создается MessageID.

Я пытаюсь придумать лучший способ собрать это значение, кроме как просто скопировать / вставить в новый внутренний модуль и вернуть его.Может быть, это лучший способ?

Ответы [ 2 ]

10 голосов
/ 12 августа 2010

Хорошо, я смотрел трагически старый код. Я должен быть в состоянии вызвать django.core.mail.message.make_msgid () и заполнить заголовок самостоятельно перед вызовом send.

0 голосов
/ 22 мая 2011

Не все бэкэнды фактически поддерживают утверждение идентификатора сообщения (например, SES устанавливает собственный идентификатор сообщения и возвращает его в ответе на отправку).На самом деле вы можете извлечь возвращенный / сгенерированный / установленный идентификатор сообщения, если вы используете более новый (около 1.1?) EmailMessage класс, который вы можете извлечь из возвращенного идентификатора сообщения после вызова .send (), например:

e=EmailMessage(
            subject,
            content,
            from_email,
            recipient_list,
            headers = headers,
        )
 e.send()
 message_id = e.extra_headers.get('Message-Id',None)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...