Django:测试发送的电子邮件内容

die*_*con 3 python django django-testing

我正在向用户发送一封带有生成链接的电子邮件,我想编写一个测试来验证链接是否正确,但我找不到在测试中获取电子邮件内容的方法。

有没有办法做到这一点?

如果它有帮助,这就是我发送电子邮件的方式:

content = template.render(Context({'my_link': my_link}))
subject = _('Email with link')
msg = EmailMultiAlternatives(subject=subject,
                             from_email='MyWebsite Team <mywebsite@mywebsite.com>',
                             to=[user.email, ])
msg.attach_alternative(content, 'text/html')
msg.send()
Run Code Online (Sandbox Code Playgroud)

Dan*_*man 5

文档有一整节关于测试电子邮件。

self.assertEqual(mail.outbox[0].subject, 'Email with link')
Run Code Online (Sandbox Code Playgroud)