在Django中通过smtp发送邮件

时间:2017-07-12 17:59:40

标签: python django shell email gmail

我试图使用python / django shell发送一封简单的电子邮件,并且在过去的几个小时里一直在讨论这个问题:
在django shell中,我执行以下操作:

from django.core.mail import send_mail
send_mail('django mail', 'this was sent with django', 'myaddress@gmail.com',['myaddress@gmail.com'], fail_silently=False)

返回的结果应该是1,这意味着邮件发送成功,但是,我知道了:

    raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (534, b'5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbu9\n5.7.14 0cv5jjPsAITCLvsSIKoDuJcz5I18H7PMX8Nsxz2ajtgAJfxls4wIKIVMUENCrFmoXNHdgM\n5.7.14 NpSKlFYuaGHtwqDodV09jIf_GaDklCUUzJLY7oSJITQqXADDWxYRU7LUbVRFPxwpd2cKzl\n5.7.14 g70grCboTaCtEofq3-5edwoRC0ukZT-z97AgOelTTvSteaEjuf5n7F417VvFFE1hXcBnyg\n5.7.14 n2NWXBFMlV_74532aXU0vguceCC84> 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 2sm2181268wrn.24 - gsmtp')

我在网页上看到了错误中提到的网址,以及一些类似的问题,对我来说没有什么好处。

另外,在settings.py文件中,包含了所需的代码:

EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'  
EMAIL_HOST_USER = 'me@gmail.com'  
EMAIL_HOST_PASSWORD = 'mypassword'  
EMAIL_PORT = 587

如上所述,本网站上的其他问题/问题并不相同。我已经在我的Gmail帐户上启用了安全性较低的应用访问,而且我没有两步验证。

1 个答案:

答案 0 :(得分:1)

IIRC使用第三方应用程序(您自己的Django应用程序)使用gmail SMTP发送电子邮件,您需要启用他们称之为Less Secure Apps的内容。

您可以在此处阅读更多内容:https://support.google.com/accounts/answer/6010255