Убедитесь, что почта была отправлена ​​из модульных тестов - PullRequest
22 голосов
/ 11 января 2011

В моем приложении Django 1.2.4 есть несколько юнит-тестов.Один из тестов должен проверить, что электронные письма отправляются при определенных условиях.Как я могу это сделать?

В идеале это было бы программно, но было бы неплохо распечатать тело письма на консоли.

1 Ответ

40 голосов
/ 11 января 2011

В последней документации по тестированию Django есть раздел Службы электронной почты .

Затем вы просто делаете что-то вроде:

from django.core import mail

print mail.outbox[0].body

HTML-версия обрабатывается с помощью прикрепленной альтернативы.mimetypes, к которым вы можете получить доступ (если вы подключили один), например

content, mimetype = mail.outbox[0].alternatives[0]

Объекты исходящих сообщений - это EmailMessages, здесь также документировано

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...