django配置gmail来发送邮件问题

由于我的机器在海外,QQ邮箱,网易邮箱都被屏蔽了,配置后没法发送邮件。

在国内机器配置了QQ邮箱可以正常发送邮件的。
配置如下:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.qq.com'
EMAIL_PORT = 25
EMAIL_HOST_USER = '1234567890@qq.com'
EMAIL_HOST_PASSWORD ='qqqqaaaaaa' 
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

这个是正常可以发送邮件的QQ邮箱配置。

然后海外配置gmail邮件发送,配置如下:

# email setting
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'abdfghe@gmail.com'
EMAIL_HOST_PASSWORD = '******'
EMAIL_USE_TLS  = True
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

然后进行发送邮件时候报以下错误:

  File "/usr/lib64/python2.7/smtplib.py", line 621, in login
    raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (534, '5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbs3\n5.7.14 istoxhZIcSW2TAwug0L1MPzf_Thl284zyr9k_a-MSx6EEXzKS00uZ9kcwgJzOAiNqv1Qel\n5.7.14 9WmEQWppgI1G7OQjWOyFkaO3pO7jqyIyRZlWXaaUoncA5q_I31F0sy_UPN8KTlyFhigSej\n5.7.14 XAaW1Zy42gse0Kv8hV5ZzJgwmTFLkmvPlrqjRq3BG2dMVijTsn8SpEiRfiwgivRWo1ezd1\n5.7.14 MjeLJ6gshsJjTOIT_FGi6DLrN1Vhs> Please log in via your web browser and\n5.7.14 then try again.\n5.7.14  Learn more at\n5.7.14  https://support.google.com/mail/answer/78754 l12sm8015871pfj.37 - gsmtp')

账号密码肯定是对的,就是不知道其他地方哪里配置错的。

阅读 10.7k
1 个回答

已经自己解决。
关键在于谷歌邮箱的设置
https://blog.user.today/gmail...

1、将【安全性较低的应用程式取权限】设置为启用
进入网页https://www.google.com/settin...,设置为【启用】。
2、解除人机验证锁定
进入网页https://accounts.google.com/b...,点击【继续】。
验证是否能发送邮件。

[root@vultrvpn vpnWeb]# python manage.py shell
Python 2.7.5 (default, Aug 18 2016, 15:58:25) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django.core.mail import send_mail
>>> send_mail(
...     'test mail',
...     'maisni,ssiani,ssiendk,wswwww',
...     'aaaaaaa@gmail.com',
...     ['1234567890@qq.com'],
...     fail_silently=False,
... )
1
>>>

成功发送邮件。

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏