今天学习使用邮箱自动化办公的过程中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

谷歌邮箱使用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. [Istio是什么?] 还不知道你就out了,一文40分钟快速理解

    @ 目录 前言 Istio是什么? 服务网格是什么? 应用场景 为什么使用Istio? 流量管理介绍 istio架构 Envoy Sidecar Istiod 虚拟服务(VirtualService) ...

  2. Linux 系统安装 AutoFs 挂载服务

    关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 作者: Escape 链接: https://escapelife.github.io/pos ...

  3. 新鲜出炉:appium2.0+ 单点触控和多点触控新的解决方案

    在 appium2.0 之前,在移动端设备上的触屏操作,单手指触屏和多手指触屏分别是由 TouchAction 类,Multiaction 类实现的. 在 appium2.0 之后,这 2 个方法将会 ...

  4. 做SaaS的程序员们,是时候关注企业架构了

    SaaS赛道是一个超大赛道,足够容纳上万家服务商,不太可能有哪个服务商能满足所有场景,大部分SaaS服务商在某个垂直领域,提供差异化的产品和服务.SaaS产品大部分都是面向B端客户,少部分面向C端客户 ...

  5. DirectX11--CPU与GPU计时器

    前言 GAMES104的王希说过: 游戏引擎的世界里,它的核心是靠Tick()函数把这个世界驱动起来. 本来单是一个CPU的计时器是不至于为其写一篇博客的,但把GPU计时器功能加上后就不一样了.在这一 ...

  6. Python写安全小工具-TCP全连接端口扫描器

    通过端口扫描我们可以知道目标主机都开放了哪些服务,下面通过TCP connect来实现一个TCP全连接端口扫描器. 一个简单的端口扫描器 #!/usr/bin/python3 # -*- coding ...

  7. unity---2d游戏杂记

    2d游戏制作的笔记 save Layout 增加配置 Packges文件夹 插件 调整视野 鼠标中键 拉近拉远 鼠标右键 平移 Alt+鼠标左键 移动视角 Pivot/Center 当前物体中心和多个 ...

  8. 140_Power BI&Power Pivot之降维展示同类型比较

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 最近一段时间比较忙,几乎没有时间更新网站内容,今天刚好周末,更新一个简单的需求. 上效果图: 在我们日常做对比分 ...

  9. 造个海洋球池来学习物理引擎【Three.js系列】

    github地址:https://github.com/hua1995116/Fly-Three.js 大家好,我是秋风.继上一篇<Three.js系列:   游戏中的第一/三人称视角>今 ...

  10. js 动画补间 Tween

    1 /* RunningList (触发过程中可以安全的删除自己) 2 如果触发过程中删除(回调函数中删除正在遍历的数组), 不仅 len 没有变(遍历前定义的len没有变, 真实的len随之减少), ...