版权声明:本文为博主原创文章,未经博主允许不得转载。 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("邮件发送完成!")