selenium

1. 邮箱服务器:

  • qq邮箱使用 smtp.qq.com
  • 163邮箱使用 smtp.163.com

2. 运行时报错:smtplib.SMTPAuthenticationError: (535, b'Login Fail. Please enter your authorization code to login.

   因为这里要的password是第三方使用邮箱时的password,所以应该是授权码而不是密码

 3. 需要在邮箱中进行配置,以QQ邮箱为例:

设置-->账户-->开启SMTP服务

发送短信到指定号码,接收授权码

  

 以上就设置完成了,那么如何查看SMTP服务器及端口呢?在QQ邮箱的帮助中心-->热门问题

4. 设置完成,可以写一个简单的发送邮件代码,如下:

SMTP:SimpleMailTransferProtocol 简单邮件传输协议

email模块:用来定义邮件的标题和正文

  • Header():用来定义邮件标题
  • MIMEText():用来定义邮件正文,参数为html格式的文本。

MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型,可用来实现支持HTML格式的邮件,支持所有HTML格式的元素,包括:表格、图片、动画、CSS样式、表单等

 1 import smtplib
 2 from email.mime.text import MIMEText
 3 from email.header import Header
 4 import time
 5 
 6 
 7 # 发送邮箱服务器、用户、密码
 8 smtpserver = 'smtp.qq.com'
 9 user = '123456789'
10 passwd = 'hfdahfldafj'
11 
12 # 发送邮箱、接收邮箱
13 sender = '123456789@qq.com'
14 receiver = '123456@163.com,123456@dingtalk.com'
15 
16 # 主题、内容
17 subject = '自动化测试报告 '+ time.strftime('%Y-%m-%d %H_%M_%S')
18 file = open(r'D:zhangyangPycharmProjects	est2	estresult2020-03-31 16_22_18.html', 'rb')
19 test_report = file.read()
20 file.close()
21 
22 # 构造邮件
23 msg = MIMEText(test_report, 'html', 'utf-8')
24 msg['Subject'] = Header(subject, 'utf-8')
25 
26 # 连接邮箱、发送邮件
27 smtp = smtplib.SMTP()
28 smtp.connect(smtpserver)
29 smtp.login(user, passwd)
30 smtp.sendmail(sender, receiver.split(','), msg.as_string())
31 smtp.quit()

5. OK,收到邮件啦~

原文地址:https://www.cnblogs.com/xiaochongc/p/12606986.html