最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2015年04月08日 09:52:58   投稿:goldensun  
這篇文章主要介紹了用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的能夠發(fā)送帶附件的郵件程序的教程,用MIMEApplication模塊來(lái)發(fā)送各種類型的文件,需要的朋友可以參考下

基本思路就是,使用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()

相關(guān)文章

  • Python中的標(biāo)簽編碼和獨(dú)熱編碼示例詳解

    Python中的標(biāo)簽編碼和獨(dú)熱編碼示例詳解

    標(biāo)簽編碼是一種用于將分類列轉(zhuǎn)換為數(shù)值列的技術(shù),以便它們可以通過(guò)僅采用數(shù)值數(shù)據(jù)的機(jī)器學(xué)習(xí)模型進(jìn)行擬合,這篇文章主要介紹了Python中的標(biāo)簽編碼和獨(dú)熱編碼,需要的朋友可以參考下
    2023-07-07
  • Python中判斷input()輸入的數(shù)據(jù)的類型

    Python中判斷input()輸入的數(shù)據(jù)的類型

    在pyhton中,經(jīng)常會(huì)用到input()語(yǔ)句,但是input()語(yǔ)句輸入的內(nèi)容只能是字符串類型,而我們經(jīng)常要輸入int類型的數(shù)據(jù)等,這個(gè)時(shí)候就需要用到int()方法給輸入的內(nèi)容強(qiáng)制轉(zhuǎn)換,今天小編給大家介紹下Python中判斷input()輸入的數(shù)據(jù)的類型,感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • python自動(dòng)化腳本安裝指定版本python環(huán)境詳解

    python自動(dòng)化腳本安裝指定版本python環(huán)境詳解

    這篇文章主要為大家詳細(xì)介紹了python自動(dòng)化腳本安裝指定版本python環(huán)境的相關(guān)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • python?包之?APScheduler?定時(shí)任務(wù)

    python?包之?APScheduler?定時(shí)任務(wù)

    這篇文章主要介紹了python?包之?APScheduler?定時(shí)任務(wù),文章基于python的相關(guān)資料展開(kāi)主題內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-04-04
  • 在Pytorch中使用樣本權(quán)重(sample_weight)的正確方法

    在Pytorch中使用樣本權(quán)重(sample_weight)的正確方法

    今天小編就為大家分享一篇在Pytorch中使用樣本權(quán)重(sample_weight)的正確方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • pycharm編寫spark程序,導(dǎo)入pyspark包的3中實(shí)現(xiàn)方法

    pycharm編寫spark程序,導(dǎo)入pyspark包的3中實(shí)現(xiàn)方法

    這篇文章主要介紹了pycharm編寫spark程序,導(dǎo)入pyspark包的3中實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python面向?qū)ο笾涌?、抽象類與多態(tài)詳解

    Python面向?qū)ο笾涌?、抽象類與多態(tài)詳解

    這篇文章主要介紹了Python面向?qū)ο笾涌?、抽象類與多態(tài),結(jié)合實(shí)例形式詳細(xì)分析了Python面向?qū)ο笾薪涌?、抽象類及多態(tài)的概念、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-08-08
  • 關(guān)于Keras Dense層整理

    關(guān)于Keras Dense層整理

    這篇文章主要介紹了關(guān)于Keras Dense層整理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • 簡(jiǎn)單了解django文件下載方式

    簡(jiǎn)單了解django文件下載方式

    這篇文章主要介紹了簡(jiǎn)單了解django三種文件下載方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • python安裝完成后可以進(jìn)行的后續(xù)步驟和注意事項(xiàng)小結(jié)

    python安裝完成后可以進(jìn)行的后續(xù)步驟和注意事項(xiàng)小結(jié)

    本文詳細(xì)介紹了安裝Python3后的后續(xù)步驟,包括驗(yàn)證安裝、配置環(huán)境、安裝包、創(chuàng)建和運(yùn)行腳本,以及使用虛擬環(huán)境,還強(qiáng)調(diào)了注意事項(xiàng),如系統(tǒng)更新、包管理與安全,感興趣的朋友一起看看吧
    2025-01-01

最新評(píng)論

东辽县| 郎溪县| 麻阳| 林周县| 内黄县| 双城市| 天台县| 衡阳县| 崇仁县| 都江堰市| 无极县| 邵阳市| 林州市| 莒南县| 武汉市| 金寨县| 新巴尔虎右旗| 临沂市| 五常市| 武定县| 毕节市| 金堂县| 凤城市| 沙雅县| 石棉县| 洪泽县| 平安县| 南川市| 武汉市| 吐鲁番市| 巴塘县| 宝山区| 海晏县| 光泽县| 日土县| 安陆市| 镇坪县| 宣恩县| 黄龙县| 长沙市| 甘洛县|