我正在尝试使用python用我的gmail帐户发送电子邮件。我已经在这里和互联网上阅读了许多问题,但是没有一个问题解决了我的问题。
以下是我正在使用的代码(感谢rosettacode),它与关于此主题的许多其他代码片段非常相似:
def sendemail(from_addr, to_addr_list, cc_addr_list,
subject, message,
login, password,
smtpserver='smtp.gmail.com:587'):
header = 'From: %s\n' % from_addr
header += 'To: %s\n' % ','.join(to_addr_list)
header += 'Cc: %s\n' % ','.join(cc_addr_list)
header += 'Subject: %s\n\n' % subject
message = header + message
server = smtplib.SMTP(smtpserver)
server.ehlo()
server.starttls()
server.ehlo()
server.login(login,password)
problems = server.sendmail(from_addr, to_addr_list, message)
server.quit()
return problems
我的问题是在登录阶段。它返回以下错误消息:
SMTPAuthenticationError: (534, '5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbsMX\n5.7.14 Z4_8qLgwTbhS2CwFvVApFvRfpIS1Vbbfun6gHcf0D6jgSQ-ixMn79mf3AivveTs9IhYsgq\n5.7.14 pmrp157H4Vmk6-ybAC9u2d2lNMYyy5pdmociqeSxBBwFGEPGJKHKdJpSocx86gzG-im6V-\n5.7.14 hsOeMKiJRAuGZjHUprEwj8oABwLzWQ8vEzovpXk79M-i8cnFseW-PNLxLlsK21WaLHLKmZ\n5.7.14 Ll3tEgQ> Please log in via your web browser and then try again.\n5.7.14 Learn more at\n5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 dc8sm25406976wib.7 - gsmtp')
我按照建议的链接找到了答案,但我不知道这是否可以解决。
所以有什么问题?我的帐户设置?我的密码?
Google最近加强了他们的安全性。直接使用用户名/密码的应用程序已被停用。正如您在阅读问题中给出的链接时一样,所有用户仍然可以在其安全性设置中重新激活这些安全性较低的应用程序。这是目前唯一的解决方案。
替代方法是使用其他SMTP服务器进行发送。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句