python 實現(xiàn)的發(fā)送郵件模板【普通郵件、帶附件、帶圖片郵件】
本文實例講述了python 實現(xiàn)的發(fā)送郵件模板。分享給大家供大家參考,具體如下:
##發(fā)送普通txt文件(與發(fā)送html郵件不同的是郵件內(nèi)容設(shè)置里的type設(shè)置為text,下面代碼為發(fā)送普通郵件的另一種方法) import smtplib import string from email.mime.text import MIMEText from email.utils import formataddr host = 'smtp.263.net' ##定義smtp主機 SUBJECT = "test smtplib" #定義郵件主題 TO = "xx@xx.com" ##郵件接收人 FROM = "xxxx@xx.com" ##郵件發(fā)送人 text = "content" #郵件內(nèi)容 ###拼接郵件主體內(nèi)容 BODY = "\r\n".join(("From %s:" % FROM,"To: %s" % TO,"Subject:%s" % SUBJECT,"",text)).encode("utf-8") server = smtplib.SMTP() #創(chuàng)建smtp對象 server.connect(host,"25") ##通過connect方法連接smtp主機 server.starttls() ##啟動安全傳輸模式 server.login("xxx@huixxx.com",'GAxxx@xxx') ##郵箱賬號登錄 server.sendmail(FROM,[TO],BODY) server.quit() ##斷開smtp連接
發(fā)送html郵件
import smtplib from email.mime.text import MIMEText from email.utils import formataddr HOST = 'smtp.263.net' ##定義smtp主機 SUBJECT = "test smtplib" #定義郵件主題 TO = "xxx@xxx.com" ##郵件接收人(可以為一個列表) FROM = "xxx@xxx.com" ##郵件發(fā)送人 text = "content" #郵件內(nèi)容 def sendmail(): msg = MIMEText(content,_subtype='html',_charset='utf-8') ##郵件內(nèi)容,content郵件內(nèi)容,plain為郵件類型,charset為字符集 msg['From'] = FROM msg['To'] = TO #如果此處為列表(';'.join(to_list)) msg['Subject'] = SUBJECT server = smtplib.SMTP("smtp.263.net",25) server.login("aa@aa.com.cn","xxxxx") #發(fā)送者的用戶名和密碼 server.sendmail(FROM,TO,msg.as_string()) server.quit() sendmail()
發(fā)送帶附件的郵件
from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart import smtplib #創(chuàng)建一個帶附件的實例 msg = MIMEMultipart() #構(gòu)造附件1 file1 = MIMEText(open('d:\\123.rar', 'rb').read(), 'base64', 'utf-8') file1["Content-Type"] = 'application/octet-stream' file1["Content-Disposition"] = 'attachment; filename="123.doc"' #這里的filename可以任意寫,寫什么名字,郵件中顯示什么名字 msg.attach(file1) #加郵件頭 msg['to'] = 'YYY@YYY.com' msg['from'] = 'XXX@XXX.com' msg['subject'] = 'hello world' #郵件主題 #發(fā)送郵件 server = smtplib.SMTP() server.connect('smtp.XXX.com',"25") server.login('XXX','XXXXX') #XXX為用戶名,XXXXX為密碼 server.sendmail(msg['from'], msg['to'],msg.as_string()) server.quit()
發(fā)送帶圖片的郵件
import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.image import MIMEImage msg['From'] = "XXX@XXX.com" #郵件發(fā)件人 msg['To'] = "YYY@YYY.com" #郵件接收人 msg['Subject'] = "hello world" ##郵件主題 def addimg(img_src,imgid): fp = open(img_src,'rb') msgImage = MIMEImage(fp.read()) fp.close() msgImage.add_header('Conteng-ID',imgid) return msgImage ##返回msgImage對象 msg_text = MIMEText("""<table><tr><td><img src="cid:aa"></td></tr></table>""","html","utf-8") #創(chuàng)建MIMEMultipart對象,采用related定義內(nèi)嵌資源 msg = MIMEMultipart('related') msg.attach(msg_text) msg.attach(addimg("C:\aa.img",aa)) ##這里的aa要與msg_text里的aa對應(yīng) #發(fā)送郵件 server = smtplib.SMTP() server.connect('smtp.XXX.com',"25") server.starttls() ##啟動安全傳輸模式 server.login('XXX','XXXXX') #XXX為用戶名,XXXXX為密碼 server.sendmail(msg['From'], msg['To'],msg.as_string()) #這里的前兩個參數(shù)自定義 server.quit()
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python Socket編程技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
python3之模塊psutil系統(tǒng)性能信息使用
psutil是個跨平臺庫,能夠輕松實現(xiàn)獲取系統(tǒng)運行的進(jìn)程和系統(tǒng)利用率,這篇文章主要介紹了python3之模塊psutil系統(tǒng)性能信息使用,感興趣的小伙伴們可以參考一下2018-05-05Python使用tkinter庫實現(xiàn)文本顯示用戶輸入功能示例
這篇文章主要介紹了Python使用tkinter庫實現(xiàn)文本顯示用戶輸入功能,結(jié)合實例形式分析了tkinter庫獲取用戶輸入及控件顯示相關(guān)操作技巧,需要的朋友可以參考下2018-05-05python實現(xiàn)Pyecharts實現(xiàn)動態(tài)地圖(Map、Geo)
這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)Pyecharts實現(xiàn)動態(tài)地圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-03-03