【问题标题】:Django can not send email when deployed by nginx+uwsgi+Djangonginx+uwsgi+Django部署Django无法发送邮件
【发布时间】:2017-07-31 02:56:57
【问题描述】:

我使用 Django 发送电子邮件,在开发环境中运行时一切正常,使用命令“python manage.py runserver 0.0.0.0:8100”。但是在nginx+uwsgi+Django部署的生产环境中就不行了。

代码如下:

#Email settings
EMAIL_HOST='smtp.exmail.qq.com'
EMAIL_PORT='465'
EMAIL_HOST_USER='sender@qq.cn'
EMAIL_HOST_PASSWORD='password'
EMAIL_USE_SSL=True
RECEIVE_EMIAL_LIST=['receiver@qq.com']

send_mail('subject','content',setting.EMAIL_HOST_USER,setting.RECEIVE_EMIAL_LIST, fail_silently=False)

【问题讨论】:

  • 寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:How to create a Minimal, Complete, and Verifiable example
  • 你解决了吗?是的话怎么解决

标签: django email


【解决方案1】:

您是否检查过您的生产环境与开发环境具有相同的网络设置?

您是否尝试过从生产环境 ping 或 telnet SMTP 服务器?

生产主机可能位于 DMZ 或子网中,对您尝试访问的 SMTP 服务器的访问权限受到限制。

【讨论】:

    【解决方案2】:
    1. EMAIL_HOST = 'smtp.qq.com'
    2. EMAIL_PORT='465' 更改为EMAIL_PORT = 587,不带引号。
    3. EMAIL_HOST_USER = 'abc@qq.com' # 尝试使用您的真实电子邮件地址。
    4. RECEIVE_EMIAL_LIST=['receiver@qq.com'] to RECEIVE_EMIAL_LIST=['receiver@qq.com'**,**] # 在列表末尾加逗号是个好习惯。

    【讨论】:

      猜你喜欢
      • 2016-08-12
      • 1970-01-01
      • 2019-03-03
      • 1970-01-01
      • 2014-05-31
      • 2014-02-01
      • 1970-01-01
      • 2013-06-07
      • 2023-03-17
      相关资源
      最近更新 更多