标签:Username sender 5.7 密码 import msg mail accepted gmail
今天学习使用邮箱自动化办公的过程中run时一直出现如下错误;smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepted.
1 import smtplib 2 from smtplib import SMTP_SSL 3 from email.mime.text import MIMEText 4 from email.mime.multipart import MIMEMultipart 5 from email.header import Header 6 7 host_server = 'smtp.gmail.com' 8 9 10 sender_gmail = 'xxxxxxxx@gmail.com' 11 pwd = 'xxxxxxxxxxx' #邮箱密码 12 13 sender_gmail_mail = 'xxxxxxxx@gmail.com' #发件人 14 receiver = 'xxxxxxxxxxx@qq.com' #收件人 15 16 mail_title = 'python自动化' #邮件标题 17 18 mail_content = '你好这是使用python进行测试' #正文 19 20 msg = MIMEMultipart() #邮件主体 21 msg['subject'] = Header(mail_title,'utf_8') 22 msg['From'] = sender_gmail_mail 23 msg['To'] = Header('test','UTF-8') 24 msg.attach(MIMEText(mail_content,'plain','utf-8')) #邮件正文 plain无格式 25 26 stmp = SMTP_SSL(host_server) #ssl登录 27 28 stmp.login(sender_gmail,pwd) 29 stmp.sendmail(sender_gmail_mail,receiver,msg.as_string()) 30 stmp.quit()
解决方案
网上查找资料需要进行如下设置在谷歌邮箱中
1.确定账号未被限制,在浏览器上能正常登陆gmail.
2.在设置->转发和 POP/IMAP 中开启pop和imap,两个都要开启.
3.开启账号的二步验证:帐户和导入->更改密码恢复选项 查看两步验证行,若是停止状态则点击根据指标开启两步验证
4.生成16位应用专用密码:https://security.google.com/settings/security/apppasswords
在这里根据提示生成一个应用专用密码,生成成功后复制密码然第5步。
5.帐户和导入->更改密码 把你的原始密码更改为刚生成的16位密码。
把密码填入程序中,现在smtp可以发送成功了
必须开启两步验证,及使用专用密码登录,否则报错
参考
原文链接:https://blog.csdn.net/bichir/article/details/51506474
标签:Username,sender,5.7,密码,import,msg,mail,accepted,gmail 来源: https://www.cnblogs.com/mhkj/p/15903004.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。