import smtplib #smtplib发送邮件模块
from email.mime.text import MIMEText #构造纯文本内容
# from email.mime.multipart import MIMEMultipart #邮件由多部分组成的
msg = MIMEText("hello~ 测试邮件发送!")
msg['Subject'] = "测试test"
msg["From"] = "XXXXX@163.com"
msg["To"] = "XXXXX@163.com"
#登陆服务器
s = smtplib.SMTP('smtp.163.com',25)
#:smtp.163.com,安全类型:SSL(接受所有证书),端口号:465或者994 非协议端口号:25
s.login(user='XXXXX@163.com',password='XXXXXX') #此处的登陆密码为第三方鉴权密码
s.sendmail(msg['From'],msg['To'],msg.as_string()) #发送邮件
s.close() #关闭服务器连接
#构造邮件内容
#发送邮件:登陆smt服务器账号密码->发送->关闭连接smtp
import smtplib #smtplib发送邮件模块
from email.mime.text import MIMEText #构造纯文本内容
from email.mime.multipart import MIMEMultipart #邮件由多部分组成的
from email.mime.application import MIMEApplication #添加附件模块
msg = MIMEMultipart() #创建实例多部分邮件
msg['Subject'] = "测试test"
msg["From"] = "XXXX@163.com"
msg["To"] = "XXXX@163.com"
#纯文本
msg_text = MIMEText("hello~ 测试邮件发送!") #纯文本
msg.attach(msg_text) #添加msg1文本内容
#将html内容作为内容展示在邮件中
msg_text2 = MIMEText(open("test_api.html",'rb').read(),'html','utf-8')
msg.attach(msg_text2)
"""
MIME有很多种类型,如果附件是图片格式,要用MIMEImage,如果是音频,要用MIMEAudio
不管什么类型的附件,都用MIMEApplication,MIMEApplication默认子类型是application/octet-stream。
application/octet-stream表明“这是个二进制的文件,希望你们那边知道怎么处理”,然后客户端,比如qq邮箱,收到这个声明后,会根据文件扩展名来猜测。
"""
#添加附件文件
msg_attach = MIMEApplication(open('test_api.html','rb').read()) # 添加html文件内容作为邮件附件,不知道邮件类型的时候就使用MIMEApplication进行发送
#添加文件时需要说明文件内容add_header
msg_attach.add_header('Content-Disposition', 'attachment', filename='测试test.html') #添加html作为附件
msg.attach(msg_attach)#添加附件
#登陆服务器
s = smtplib.SMTP('smtp.163.com',25) #QQ邮箱登陆要用smtplib.SMTP_SSL()
#:smtp.163.com,安全类型:SSL(接受所有证书),端口号:465或者994
s.login(user='XXXX@163.com',password='XXXXX') #此处的登陆密码为第三方鉴权密码
s.sendmail(msg['From'],msg['To'],msg.as_string()) #发送邮件
s.close() #关闭服务器连接