Paste_Image.png
Paste_Image.png
图片发自简书App
import smtplib
from email.mime.multipart import MIMEMultipart
#连接邮件标题,邮件的文字内容,邮件的附件三个内容
from email.mime.text import MIMEText
#邮件主题部分的文字内容
from email.mime.application import MIMEApplication
#传输附件中的应用
#以二进制传输文件,以开头的字节流判断文件类型
_user = "XXXXXXXXX@qq.com"
_pwd = "XXXXXXXX"
#本处使用QQ邮箱的第三方应用验证码
_to = "XXXXXXX@qq.com"
#如名字所示Multipart就是分多个部分
msg = MIMEMultipart()
msg["Subject"] = "don't panic"
msg["From"] = _user
msg["To"] = _to
#---这是文字部分---
part = MIMEText("乔装打扮,不择手段",_subtype='html',_charset='utf-8')
msg.attach(part)
#---这是附件部分---
#xlsx类型附件
path='E:\\XXXXXX\\foo.xlsx' #要打两个\才可以!
part = MIMEApplication(open(path,'rb').read())
part.add_header('Content-Disposition', 'attachment', filename="foo.xlsx")
msg.attach(part)
#jpg类型附件
part = MIMEApplication(open(r'E:\XXXXXXXXX\啥.jpg','rb').read())
part.add_header('Content-Disposition', 'attachment', filename=('gbk','',"啥.jpg"))
#发送含有中文的邮件需要加入gbk,如果是windows的话,因为windows的文件名用的是gbk编码
msg.attach(part)
#pdf类型附件 发送失败 原因不详.......
#part = MIMEApplication(open(r'E:\XXXXXX\foo.pdf','rb').read())
#part.add_header('Content-Disposition', 'attachment', filename="foo.pdf")
#msg.attach(part)
s = smtplib.SMTP_SSL("smtp.qq.com",465)
#连接smtp邮件服务器,端口默认是25
s.login(_user, _pwd) #登陆服务器
s.sendmail(_user, _to, msg.as_string())#发送邮件
s.close()