自动化测试学习之--Python 邮件发送

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/juhua2012/article/details/89164685

Python邮件发送

SMTP(Simple Mail Transfer Protocol)

  • 即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。

SMTP 认证

  • SMTP 认证,简单地说就是要求必须在提供了账户名和密码之后才可以登录 SMTP 服务器,这就使得那些垃圾邮件的散播者无可乘之机。
  • 增加 SMTP 认证的目的是为了使用户避免受到垃圾邮件的侵扰。

更多资料: http://help.163.com/09/1223/14/5R7P6CJ600753VB8.html

smtplib模块

Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。

Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。

注意:使用前需要开启SMTP服务

# 案例:使用163邮箱来结合smtp模块发送邮件 准备工作:
import smtplib  #发送邮件模块
from email.mime.text import MIMEText  #定义邮件内容
from email.header import Header       #定义邮件标题

#发送邮箱服务器
smtpserver='smtp.163.com'

#发送邮箱用户名密码(密码是授权密码)
user='[email protected]'
password='******'

#发送和接收邮箱
sender='[email protected]'
receive='[email protected]'

#发送邮件主题和内容
subject='Web Selenium 自动化测试报告'
content='<html><h1 style="color:red">收到邮件没!</h1></html>'

#HTML邮件正文
msg=MIMEText(content,'html','utf-8')
msg['Subject']=Header(subject,'utf-8')
msg['From']=sender
msg['To']=receive

#SSL协议端口号要使用465
smtp=smtplib.SMTP_SSL(smtpserver,465)

#HELO 向服务器标识用户身份
smtp.helo(smtpserver)
#服务器返回结果确认
smtp.ehlo(smtpserver)
#登录邮箱服务器用户名和密码
smtp.login(user,password)

print("开始发送邮件...")
smtp.sendmail(sender,receive,msg.as_string())
smtp.quit()
print("邮件发送完成!")

猜你喜欢

转载自blog.csdn.net/juhua2012/article/details/89164685