以QQ邮箱为例,需要登录QQ邮箱在设置-帐号中打开SMTP服务,复制生成的授权码,登录要用
源码如下:
import smtplib #python自带模块
from email.mine.text import MIMEText
from email.mine.multipart import MIMEMultipart
from email.header import Header
smtp=smtplib.SMTP() #创建SMTP实例对象
sender="xxx@qq.com" #发送邮件的邮箱
receiver=["xxx@qq.com,xxx163.com] #接受邮件列表
smtp.conncet("smtp.qq.com",25)#QQ邮箱的smtp地址与端口
smtp.login("username","password")#登录邮箱的账户,注意password为QQ邮箱的授权码
msg=MIMEMultipart()#创建要发送的数据对象
text="Hello,SMTP for Python,This is text"#正文内容
msg.attach(MIMEText(text, 'plain', 'utf-8')) #如果text为html文本,此处palin参数改为html
#为邮件添加附件文件
aFile=open("G:/notepad.txt","r+",encoding="utf-8")
att1=MIMEText(aFile.read(),'utf-8')
att1["Content-Disposition"] = 'attachment; filename="test.txt"'#设置文件名为text.txt
msg.attach(att1) #数据添加到对象中
#添加邮件头文本信息
msg['From']=Header("from username")
msg["To"]=Header("to username")
msg["Subject"]=Header("TitileText","utf-8")
smtp.sendmail(sender,receiver,msg.as_string()) #发送邮件