我使用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)
答案 0 :(得分:1)
EMAIL_HOST = 'smtp.qq.com'
EMAIL_PORT='465'
更改为EMAIL_PORT = 587
,没有引号。EMAIL_HOST_USER = 'abc@qq.com'
#尝试使用您的真实电子邮件地址。RECEIVE_EMIAL_LIST=['receiver@qq.com']
至RECEIVE_EMIAL_LIST=['receiver@qq.com'**,**]
#在列表末尾添加逗号是一个好习惯。答案 1 :(得分:0)
您是否检查过您的生产环境与开发环境具有相同的网络设置?
您是否尝试过ping或telnet生产中的SMTP服务器?
生产主机可能位于DMZ或子网中,该子网对您尝试访问的SMTP服务器具有受限访问权限。