Verify mail was sent from unit tests
I have some unit tests in my Django 1.2.4 app. One of the tests needs to verify that emails are sent under certain conditions. How can I do this?
Ideally it'd be programmatic, but it'd also be nice to print the email body out to the console开发者_运维技巧.
The latest Django testing documentation has an Email Services section.
Then you just do something like:
from django.core import mail
print mail.outbox[0].body
The HTML version is handled via attached alternative mimetypes, which you can access (if you attached one) such as
content, mimetype = mail.outbox[0].alternatives[0]
Outbox objects are EmailMessages, further documented here
精彩评论