欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用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語(yǔ)言中with as的用法使用詳解

    python語(yǔ)言中with as的用法使用詳解

    本篇文章主要介紹了python語(yǔ)言中with as的用法使用詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • Python中常用的內(nèi)置方法

    Python中常用的內(nèi)置方法

    今天小編就為大家分享一篇關(guān)于Python中常用的內(nèi)置方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • Python編程之序列操作實(shí)例詳解

    Python編程之序列操作實(shí)例詳解

    這篇文章主要介紹了Python編程之序列操作,結(jié)合實(shí)例形式分析了Python序列的功能、相關(guān)函數(shù)與具體使用技巧,需要的朋友可以參考下
    2017-07-07
  • Python圖片驗(yàn)證碼降噪和8鄰域降噪

    Python圖片驗(yàn)證碼降噪和8鄰域降噪

    這篇文章主要介紹了Python圖片驗(yàn)證碼降噪和8鄰域降噪的相關(guān)內(nèi)容,需要的小伙伴可以參考下面文章
    2021-08-08
  • python 實(shí)現(xiàn)socket服務(wù)端并發(fā)的四種方式

    python 實(shí)現(xiàn)socket服務(wù)端并發(fā)的四種方式

    這篇文章主要介紹了python 實(shí)現(xiàn)socket服務(wù)端并發(fā)的四種方式,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • Windows環(huán)境打包python工程為可執(zhí)行程序的詳細(xì)過(guò)程

    Windows環(huán)境打包python工程為可執(zhí)行程序的詳細(xì)過(guò)程

    我的開(kāi)發(fā)環(huán)境是windows7,然后系統(tǒng)是64位,安裝的python和wxpython都是32位的,本文記錄我怎樣用pyinstaller打包我用python開(kāi)發(fā)的工程,在網(wǎng)上搜索了很多資源,基本上都是不全的,所以我在這兒記錄一下這個(gè)比較完整的過(guò)程,一起看看吧
    2024-01-01
  • python3.9實(shí)現(xiàn)pyinstaller打包python文件成exe

    python3.9實(shí)現(xiàn)pyinstaller打包python文件成exe

    這篇文章主要介紹了python3.9實(shí)現(xiàn)pyinstaller打包python文件成exe,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • python基礎(chǔ)入門(mén)學(xué)習(xí)筆記(Python環(huán)境搭建)

    python基礎(chǔ)入門(mén)學(xué)習(xí)筆記(Python環(huán)境搭建)

    這篇文章主要介紹了python基礎(chǔ)入門(mén)學(xué)習(xí)筆記,這是開(kāi)啟學(xué)習(xí)python基礎(chǔ)知識(shí)的第一篇,夯實(shí)Python基礎(chǔ),才能走的更遠(yuǎn),感興趣的小伙伴們可以參考一下
    2016-01-01
  • python常見(jiàn)模塊與用法

    python常見(jiàn)模塊與用法

    這篇文章主要介紹了python常見(jiàn)模塊與用法,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有一定的幫助,需要的朋友可以參考下
    2021-04-04
  • Python使用matplotlib繪圖無(wú)法顯示中文問(wèn)題的解決方法

    Python使用matplotlib繪圖無(wú)法顯示中文問(wèn)題的解決方法

    這篇文章主要介紹了Python使用matplotlib繪圖無(wú)法顯示中文問(wèn)題的解決方法,結(jié)合具體實(shí)例形式分析了Python使用matplotlib繪圖時(shí)出現(xiàn)中文亂碼的原因與相關(guān)解決方法,需要的朋友可以參考下
    2018-03-03

最新評(píng)論