首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >测试在没有电子邮件服务器的情况下发送电子邮件

测试在没有电子邮件服务器的情况下发送电子邮件
EN

Stack Overflow用户
提问于 2011-01-10 05:40:43
回答 6查看 51.3K关注 0票数 74

我有一个发送电子邮件的Django应用程序。生产服务器有电子邮件服务器,但我的本地计算机没有。我希望能够在本地测试电子邮件的发送。有没有办法让django不通过电子邮件服务器发送,而只是打印到文件或控制台?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-01-10 06:15:31

你可以用configure your application to use the Console Backend发送电子邮件。它将电子邮件写到标准输出,而不是发送。

更改您的settings.py,使其包含以下行:

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

不要忘了在生产过程中删除它。

票数 137
EN

Stack Overflow用户

发布于 2011-01-10 05:47:19

Python有一个小的SMTP服务器built-in。您可以使用以下命令在第二个控制台中启动它:

python -m smtpd -n -c DebuggingServer localhost:1025

这将简单地打印所有发送到控制台中localhost:1025的邮件。

您必须配置Django才能在settings.py中使用此服务器

EMAIL_HOST = 'localhost'
EMAIL_PORT = 1025
票数 83
EN

Stack Overflow用户

发布于 2011-01-10 07:35:40

您可以配置您的应用程序将电子邮件写出到临时文件中,而不是发送它们(类似于Daniel Hepper的回答)。

EMAIL_BACKEND = 'django.core.mail.backends.filebased.EmailBackend'
EMAIL_FILE_PATH = 'tmp/email-messages/'

这会将每个新消息保存为单独的文件。如果您正在发送成堆的电子邮件,并且不想使用回滚功能,则此功能非常有用。

票数 42
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4642011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档