【发布时间】:2017-08-21 20:27:56
【问题描述】:
我一直在尝试使用 Django 从我正在开发的网站接收电子邮件。现在,我还没有部署,我用的是Django开发服务器,不知道会不会影响。
这是我的 settings.py 配置:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'my_email@gmail.com'
EMAIL_HOST_PASSWROD = 'my_password'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
DEFAULT_TO_EMAIL = EMAIL_HOST_USER
然后,通过项目的根文件夹,我运行python manage.py shell,然后输入以下内容:
>>> import django
>>> from django.conf import settings
>>> from django.core.mail import send_mail
>>> send_mail('test', 'test', settings.EMAIL_HOST_USER, [settings.EMAIL_HOST_USER], fail_silently=False)
我收到的是以下错误:
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/paulo/anaconda3/envs/MyDjangoEnv/lib/python3.6/site-packages/django/core/mail/__init__.py", line 62, in send_mail
return mail.send()
File "/home/paulo/anaconda3/envs/MyDjangoEnv/lib/python3.6/site-packages/django/core/mail/message.py", line 348, in send
return self.get_connection(fail_silently).send_messages([self])
File "/home/paulo/anaconda3/envs/MyDjangoEnv/lib/python3.6/site-packages/django/core/mail/backends/smtp.py", line 111, in send_messages
sent = self._send(message)
File "/home/paulo/anaconda3/envs/MyDjangoEnv/lib/python3.6/site-packages/django/core/mail/backends/smtp.py", line 127, in _send
self.connection.sendmail(from_email, recipients, message.as_bytes(linesep='\r\n'))
File "/home/paulo/anaconda3/envs/MyDjangoEnv/lib/python3.6/smtplib.py", line 866, in sendmail
raise SMTPSenderRefused(code, resp, from_addr)
smtplib.SMTPSenderRefused: (530, b'5.5.1 Authentication Required. Learn more at\n5.5.1 https://support.google.com/mail/?p=WantAuthErrorv11sm8729581qkl.88 - gsmtp', 'my_email@gmail.com')
我已启用允许安全性较低的应用程序的选项。
我尝试在使用两步验证时输入谷歌提供的 EMAIL_HOST_PASSWORD = "my_password",而不是输入 EMAIL_HOST_PASSWORD = 'myapplicationpassword'。没用。
然后我禁用了两步验证并将应用程序密码改回我的实际密码,错误仍然存在。
我做错了吗?谷歌是否以某种方式阻止了这些类型的应用程序?如果我运行自己的邮件服务器会更好吗?
【问题讨论】:
-
您可以通过其他邮件客户端发送具有这些设置的邮件吗?也看看mail.google.com/mail/u/0/#settings