今天学习使用邮箱自动化办公的过程中run时一直出现如下错误;smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepted.

  1. 1 import smtplib
  2. 2 from smtplib import SMTP_SSL
  3. 3 from email.mime.text import MIMEText
  4. 4 from email.mime.multipart import MIMEMultipart
  5. 5 from email.header import Header
  6. 6
  7. 7 host_server = 'smtp.gmail.com'
  8. 8
  9. 9
  10. 10 sender_gmail = 'xxxxxxxx@gmail.com'
  11. 11 pwd = 'xxxxxxxxxxx' #邮箱密码
  12. 12
  13. 13 sender_gmail_mail = 'xxxxxxxx@gmail.com' #发件人
  14. 14 receiver = 'xxxxxxxxxxx@qq.com' #收件人
  15. 15
  16. 16 mail_title = 'python自动化' #邮件标题
  17. 17
  18. 18 mail_content = '你好这是使用python进行测试' #正文
  19. 19
  20. 20 msg = MIMEMultipart() #邮件主体
  21. 21 msg['subject'] = Header(mail_title,'utf_8')
  22. 22 msg['From'] = sender_gmail_mail
  23. 23 msg['To'] = Header('test','UTF-8')
  24. 24 msg.attach(MIMEText(mail_content,'plain','utf-8')) #邮件正文 plain无格式
  25. 25
  26. 26 stmp = SMTP_SSL(host_server) #ssl登录
  27. 27
  28. 28 stmp.login(sender_gmail,pwd)
  29. 29 stmp.sendmail(sender_gmail_mail,receiver,msg.as_string())
  30. 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

谷歌邮箱使用python自动化发送邮件出现smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepted.的解决的更多相关文章

  1. smtplib.SMTPAuthenticationError: (535, b'Error: authentication failed')解决办法

    raise SMTPAuthenticationError(code, resp) smtplib.SMTPAuthenticationError: (535, b'Error: authentica ...

  2. Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError

    最新在学习Python的基础入门系列课程,今天学习到使用python 的内置库smtplib发送邮件内容. 使用Python发送邮件步骤简单: 创建SMTP连接 使用邮箱和密码登录SMTP服务器 创建 ...

  3. python SMTP 发送邮件 阿里企业邮箱、163邮箱 及535错误

    class SendEmail(object): def __init__(self, type, to_addr): self.to_addr = to_addr self.sys_date = t ...

  4. python☞自动发送邮件

    一.SMTP 协议 SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式 二.smtplib ...

  5. python+selenium 发送邮件

    import time from selenium import webdriver from selenium.webdriver import ChromeOptions from seleniu ...

  6. 【selenium+Python unittest】之使用smtplib发送邮件错误:smtplib.SMTPDataError:(554)、smtplib.SMTPAuthenticationError(例:126邮箱)

    原代码如下: import smtplib from email.mime.text import MIMEText from email.header import Header #要发送的服务器 ...

  7. Python自动化:自动化发送邮件之SMTP

    自动发送邮件,作为自动化测试的流程之一,可以将运行后的测试报告自动发送至指定的对象,形成一次自动化的完整闭环,基于Python来实现的有关自动化发送邮件的内容,加上注释做了一个小小的整理. 话不多说直 ...

  8. Python发送邮件:smtplib、sendmail

    本地Ubuntu 18.04,本地Python 3.6.5, 阿里云Ubuntu 16.04,阿里云Python 3.5.2, smtplib,sendmail 8.15.2, 今天,打算实现通过电子 ...

  9. 3.python 发送邮件之smtplib模块

    SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,它是一组用于由源地址到目的地址的邮件传输规则. python中对SMTP进行了简单的封装,可以发送纯文本邮件, ...

随机推荐

  1. 常用的Linux 系统备份、恢复命令

    公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ 删库跑路的事常常听说,不过,这只能是个调侃的话题,真正的工作中可不能这么干,否则,库是删了,路怕是跑不了了. 所以,备份很重 ...

  2. 老生常谈系列之Aop--AspectJ

    老生常谈系列之Aop--AspectJ 这篇文章的目的是大概讲解AspectJ是什么,所以这个文章会花比较长的篇幅去解释一些概念(这对于日常开发来说没一点卵用,但我就是想写),本文主要参考Aspect ...

  3. 在博客文章中使用mermaid 定义流程图,序列图,甘特图

    概述 Mermaid(美人鱼)是一套markdown语法规范,用来在markdown文档中定义图形,包括流程图.序列图.甘特图等等. 它的官方网站是 https://mermaid-js.github ...

  4. ajax 请求登录超时跳转登录页解决方法

    在Filter里判断是否登录,如果未登录返回401状态 public class SelfOnlyAttribute : ActionFilterAttribute { public override ...

  5. Bert不完全手册5. 推理提速?训练提速!内存压缩!Albert

    Albert是A Lite Bert的缩写,确实Albert通过词向量矩阵分解,以及transformer block的参数共享,大大降低了Bert的参数量级.在我读Albert论文之前,因为Albe ...

  6. 【Java8新特性】Lambda表达式

    一.Lambda 表达式 是什么? Lambda读音:拉姆达. Lambda是一个匿名函数,匿名函数就是一个没有名字的函数. Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中). ...

  7. linux篇-linux修改网卡名(亲测有效)

    1查看网卡ip addr 2cd /etc/sysconfig/network-scripts Ls查看 3mv ifcfg-eno16777736 ifcfg-eth0重命名,然后编辑 最后一行加入 ...

  8. 12┃音视频直播系统之 WebRTC 实现1对1直播系统实战

    一.搭建 Web 服务器 前面我们已经实现过,但是没有详细说HTTPS服务 首先需要引入了 express 库,它的功能非常强大,用它来实现 Web 服务器非常方便 同时还需要引入 HTTPS 服务, ...

  9. 安装Zookeeper到Linux

    系统版本:Ubuntu 16.04.5 LTS 软件版本:apache-zookeeper-3.5.8 硬件要求:无 1.安装依赖 Zookeeper需要JDK的支持. 注:需要先去JDK官网下载安装 ...

  10. 每天一个 HTTP 状态码 102

    102 Processing 102 Processing 是用于 WebDAV协议 请求的状态码. 这个状态码表示服务器已经收到了客户端的请求,正在处理,但暂时还没有可接触的响应.可以用于防止客户端 ...