日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的能夠發(fā)送帶附件的郵件程序的教程

系統(tǒng) 2003 0

基本思路就是,使用MIMEMultipart來(lái)標(biāo)示這個(gè)郵件是多個(gè)部分組成的,然后attach各個(gè)部分。如果是附件,則add_header加入附件的聲明。
在python中,MIME的這些對(duì)象的繼承關(guān)系如下。
MIMEBase
??? |-- MIMENonMultipart
??????? |-- MIMEApplication
??????? |-- MIMEAudio
??????? |-- MIMEImage
??????? |-- MIMEMessage
??????? |-- MIMEText
??? |-- MIMEMultipart
一般來(lái)說(shuō),不會(huì)用到MIMEBase,而是直接使用它的繼承類。MIMEMultipart有attach方法,而MIMENonMultipart沒(méi)有,只能被attach。
MIME有很多種類型,這個(gè)略麻煩,如果附件是圖片格式,我要用MIMEImage,如果是音頻,要用MIMEAudio,如果是word、excel,我都不知道該用哪種MIME類型了,得上google去查。
最懶的方法就是,不管什么類型的附件,都用MIMEApplication,MIMEApplication默認(rèn)子類型是application/octet-stream。
application/octet-stream表明“這是個(gè)二進(jìn)制的文件,希望你們那邊知道怎么處理”,然后客戶端,比如qq郵箱,收到這個(gè)聲明后,會(huì)根據(jù)文件擴(kuò)展名來(lái)猜測(cè)。

下面上代碼。
假設(shè)當(dāng)前目錄下有foo.xlsx/foo.jpg/foo.pdf/foo.mp3這4個(gè)文件。
?

            
import smtplib 
from email.mime.multipart import MIMEMultipart 
from email.mime.text import MIMEText 
from email.mime.application import MIMEApplication 
_user = "sigeken@qq.com" 
_pwd = "***" 
_to  = "402363522@qq.com" 
  
#如名字所示Multipart就是分多個(gè)部分 
msg = MIMEMultipart() 
msg["Subject"] = "don't panic" 
msg["From"]  = _user 
msg["To"]   = _to 
  
#---這是文字部分--- 
part = MIMEText("喬裝打扮,不擇手段") 
msg.attach(part) 
  
#---這是附件部分--- 
#xlsx類型附件 
part = MIMEApplication(open('foo.xlsx','rb').read()) 
part.add_header('Content-Disposition', 'attachment', filename="foo.xlsx") 
msg.attach(part) 
  
#jpg類型附件 
part = MIMEApplication(open('foo.jpg','rb').read()) 
part.add_header('Content-Disposition', 'attachment', filename="foo.jpg") 
msg.attach(part) 
  
#pdf類型附件 
part = MIMEApplication(open('foo.pdf','rb').read()) 
part.add_header('Content-Disposition', 'attachment', filename="foo.pdf") 
msg.attach(part) 
  
#mp3類型附件 
part = MIMEApplication(open('foo.mp3','rb').read()) 
part.add_header('Content-Disposition', 'attachment', filename="foo.mp3") 
msg.attach(part) 
  
s = smtplib.SMTP("smtp.qq.com", timeout=30)#連接smtp郵件服務(wù)器,端口默認(rèn)是25 
s.login(_user, _pwd)#登陸服務(wù)器 
s.sendmail(_user, _to, msg.as_string())#發(fā)送郵件 
s.close()

          


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 施甸县| 湾仔区| 南阳市| 东乡县| 唐海县| 朔州市| 随州市| 平顶山市| 镇安县| 水富县| 昭平县| 株洲市| 卫辉市| 调兵山市| 澄城县| 长丰县| 沁源县| 应城市| 遵化市| 本溪市| 丰顺县| 敦化市| 洛扎县| 新河县| 溧阳市| 稻城县| 舒兰市| 鄱阳县| 赣榆县| 合作市| 司法| 宁夏| 乐陵市| 安乡县| 宝清县| 河曲县| 耒阳市| 偏关县| 东莞市| 峨山| 年辖:市辖区|