python利用SMTP協(xié)議發(fā)送報文

Paste_Image.png
Paste_Image.png
圖片發(fā)自簡書App
import smtplib 
from email.mime.multipart import MIMEMultipart 
#連接郵件標(biāo)題,郵件的文字內(nèi)容,郵件的附件三個內(nèi)容
from email.mime.text import MIMEText 
#郵件主題部分的文字內(nèi)容
from email.mime.application import MIMEApplication 
#傳輸附件中的應(yīng)用
#以二進(jìn)制傳輸文件,以開頭的字節(jié)流判斷文件類型
_user = "XXXXXXXXX@qq.com"
_pwd = "XXXXXXXX"          
#本處使用QQ郵箱的第三方應(yīng)用驗證碼
_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"))
#發(fā)送含有中文的郵件需要加入gbk,如果是windows的話,因為windows的文件名用的是gbk編碼
msg.attach(part) 
   
#pdf類型附件   發(fā)送失敗 原因不詳.......
#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郵件服務(wù)器,端口默認(rèn)是25 
s.login(_user, _pwd)   #登陸服務(wù)器 
s.sendmail(_user, _to, msg.as_string())#發(fā)送郵件 
s.close()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容