我一直在尝试让django与gmail的smtp服务器协同工作来发送邮件,但我总是得到这样的回溯。任何帮助都将不胜感激。
- settings.py
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'user@gmail.com'
EMAIL_HOST_PASSWORD = 'your-password'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
- python shell
从django.core.mail导入EmailMessage的
email =EmailMessage(‘邮件测试’,‘这是一个测试’,to=‘somemail@omething.com’)
email.send()
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/fiodorovich/Envs/fdict/lib/python2.7/site-packages/django/core/mail/message.py", line 251, in send
return self.get_connection(fail_silently).send_messages([self])
File "/home/fiodorovich/Envs/fdict/lib/python2.7/site-packages/django/core/mail/backends/smtp.py", line 86, in send_messages
sent = self._send(message)
File "/home/fiodorovich/Envs/fdict/lib/python2.7/site-packages/django/core/mail/backends/smtp.py", line 104, in _send
email_message.message().as_string())
File "/usr/local/lib/python2.7/smtplib.py", line 701, in sendmail
raise SMTPSenderRefused(code, resp, from_addr)
SMTPSenderRefused: (530, '5.7.0 Must issue a STARTTLS command first. z15sm10449686anl.15', 'webmaster@localhost')
编辑:根据unni的建议进行修改时出现新错误。shell无法执行,我收到以下错误消息
**EMAIL_HOST_USER = 'some.account@gmail.com'**
^
SyntaxError: invalid syntax
发布于 2011-10-26 17:26:10
我最近设置了这个,并且有一个稍微不同的settings.py配置。
移动:
EMAIL_USE_TLS = True
到EMAIL_HOST上面的顶部
添加:
DEFAULT_FROM_EMAIL = 'user@gmail.com'
SERVER_EMAIL = 'user@gmail.com'
发布于 2011-10-25 15:25:21
如下所示更改您的设置:
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'user'
EMAIL_HOST_PASSWORD = 'your-password'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
然后尝试:
python manage.py shell
>>> from django.core.mail import EmailMessage
>>> email = EmailMessage('Mail Test', 'This is a test', to=['somemail@something.com'])
>>> email.send()
这应该返回状态1,这意味着它起作用了。
发布于 2014-08-14 03:30:29
我也遇到了同样的问题,我花了半天的时间寻找解决方案。大多数建议的解决方案都在讨论相对于其他设置应该在哪里初始化EMAIL_USE_TLS。我不认为这是解决问题的办法。
我在这里找到了解决方案:https://support.google.com/accounts/answer/185833?hl=en,最后是https://security.google.com/settings/security/apppasswords
如果你是在本地机器上测试你的项目,你应该转到后面的链接,并启用“访问安全性较低的应用程序”。
https://stackoverflow.com/questions/7877452
复制相似问题