我在 Saucy EC2 实例上有一个 Django 项目,站点的注册通过 django-registration 处理,经过几分钟和几次尝试注册不同的电子邮件地址后,我没有看到任何注册用户尝试的电子邮件。 (唯一存在的用户是注册期间创建的用户。) settings.py 文件具有:
EMAIL_HOST = 'localhost'
EMAIL_PORT = 25
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
当我通过端口 25 telnet 会话手动发送测试消息时,手动电子邮件顺利到达。(我已安装 Postfix。)
我应该做什么才能使 django-registration 能够发送电子邮件?
我尝试将 EMAIL_HOST_USER 设置为有效的电子邮件地址并再次注册新用户,但这并没有在我的收件箱中产生任何内容。
答案1
如果安装了 Postfix 作为邮件程序,Django 就无法正常工作;当我安装了 sendmail 后,我的问题就解决了。
答案2
你看过 Postfix 日志文件了吗?我遇到过类似的问题,原因是 Postfix 不接受From:
Django 生成的电子邮件中的电子邮件地址。将settings.py 中的SERVER_EMAIL
默认设置为更改root@localhost
为某个合理的值后,一切就都正常了。