python SMTP實(shí)現(xiàn)發(fā)送帶附件電子郵件
本文實(shí)例為大家分享了python SMTP發(fā)送帶附件電子郵件的具體代碼,供大家參考,具體內(nèi)容如下
可采用email模塊發(fā)送電子郵件附件。發(fā)送一個(gè)未知MIME類(lèi)型的文件附件其基本思路如下:
1. 構(gòu)造MIMEMultipart對(duì)象做為根容器
2. 構(gòu)造MIMEText對(duì)象做為郵件顯示內(nèi)容并附加到根容器
3. 構(gòu)造MIMEBase對(duì)象做為文件附件內(nèi)容并附加到根容器
a. 讀入文件內(nèi)容并格式化
b. 設(shè)置附件頭
4. 設(shè)置根容器屬性
5. 得到格式化后的完整文本
6. 用smtp發(fā)送郵件
具體內(nèi)容參見(jiàn)<programing python(3rd)> 14章第6節(jié) “email: Parsing and Composing Mails”。發(fā)送一個(gè)未知MIME類(lèi)型的文件附件實(shí)例代碼如下:
import smtplib import email.MIMEMultipart import email.MIMEText import email.MIMEBase import os.path From = "sender address" To = "recipients" file_name = "file name" server = smtplib.SMTP("smtp server address") server.login("username","password") #僅smtp服務(wù)器需要驗(yàn)證時(shí) # 構(gòu)造MIMEMultipart對(duì)象做為根容器 main_msg = email.MIMEMultipart.MIMEMultipart() # 構(gòu)造MIMEText對(duì)象做為郵件顯示內(nèi)容并附加到根容器 text_msg = email.MIMEText.MIMEText("this is a test text to text mime") main_msg.attach(text_msg) # 構(gòu)造MIMEBase對(duì)象做為文件附件內(nèi)容并附加到根容器 contype = 'application/octet-stream' maintype, subtype = contype.split('/', 1) ## 讀入文件內(nèi)容并格式化 data = open(file_name, 'rb') file_msg = email.MIMEBase.MIMEBase(maintype, subtype) file_msg.set_payload(data.read( )) data.close( ) email.Encoders.encode_base64(file_msg) ## 設(shè)置附件頭 basename = os.path.basename(file_name) file_msg.add_header('Content-Disposition', 'attachment', filename = basename) main_msg.attach(file_msg) # 設(shè)置根容器屬性 main_msg['From'] = From main_msg['To'] = To main_msg['Subject'] = "attach test " main_msg['Date'] = email.Utils.formatdate( ) # 得到格式化后的完整文本 fullText = main_msg.as_string( ) # 用smtp發(fā)送郵件 try: server.sendmail(From, To, fullText) finally: server.quit()
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python讀取excel文件中帶公式的值的實(shí)現(xiàn)
這篇文章主要介紹了Python讀取excel文件中帶公式的值的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04numpy.std() 計(jì)算矩陣標(biāo)準(zhǔn)差的方法
今天小編就為大家分享一篇numpy.std() 計(jì)算矩陣標(biāo)準(zhǔn)差的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07pycharm中import導(dǎo)入包呈現(xiàn)灰色的問(wèn)題及解決
這篇文章主要介紹了pycharm中import導(dǎo)入包呈現(xiàn)灰色的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05Django利用Cookie實(shí)現(xiàn)反爬蟲(chóng)的例子
這篇文章主要介紹了Django利用Cookie實(shí)現(xiàn)反爬蟲(chóng),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04python基礎(chǔ)入門(mén)之普通操作與函數(shù)(三)
這篇文章主要介紹了python基礎(chǔ)入門(mén)之普通操作與函數(shù)2021-06-06python中實(shí)現(xiàn)控制小數(shù)點(diǎn)位數(shù)的方法
今天小編就為大家分享一篇python中實(shí)現(xiàn)控制小數(shù)點(diǎn)位數(shù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01如何在Python中利用matplotlib.pyplot畫(huà)出函數(shù)圖詳解
通過(guò)圖像可以直觀地學(xué)習(xí)函數(shù)變化、分布等規(guī)律,在學(xué)習(xí)函數(shù)、概率分布等方面效果顯著,下面這篇文章主要給大家介紹了關(guān)于如何在Python中利用matplotlib.pyplot畫(huà)出函數(shù)圖的相關(guān)資料,需要的朋友可以參考下2022-08-08