python 實(shí)現(xiàn)的發(fā)送郵件模板【普通郵件、帶附件、帶圖片郵件】
本文實(shí)例講述了python 實(shí)現(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主機(jī)
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主機(jī)
server.starttls() ##啟動(dòng)安全傳輸模式
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主機(jī)
SUBJECT = "test smtplib" #定義郵件主題
TO = "xxx@xxx.com" ##郵件接收人(可以為一個(gè)列表)
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)建一個(gè)帶附件的實(shí)例
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() ##啟動(dòng)安全傳輸模式
server.login('XXX','XXXXX') #XXX為用戶名,XXXXX為密碼
server.sendmail(msg['From'], msg['To'],msg.as_string()) #這里的前兩個(gè)參數(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è)計(jì)有所幫助。
相關(guān)文章
python數(shù)據(jù)處理之Pandas類型轉(zhuǎn)換的實(shí)現(xiàn)
本文主要介紹了python數(shù)據(jù)處理之Pandas類型轉(zhuǎn)換的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
python pandas dataframe 行列選擇,切片操作方法
下面小編就為大家分享一篇python pandas dataframe 行列選擇,切片操作方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
python 處理telnet返回的More,以及get想要的那個(gè)參數(shù)方法
今天小編就為大家分享一篇python 處理telnet返回的More,以及get想要的那個(gè)參數(shù)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02
python HTTPX庫實(shí)現(xiàn)同步異步請求用法示例
這篇文章主要為大家介紹了python HTTPX庫實(shí)現(xiàn)同步異步請求用法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
python在協(xié)程中增加任務(wù)實(shí)例操作
在本篇文章里小編給大家整理的是一篇關(guān)于python在協(xié)程中增加任務(wù)實(shí)例操作內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2021-02-02
python進(jìn)度條庫tqdm使用記錄(特點(diǎn)和用法)
tqdm是一個(gè)Python庫,用于在命令行界面中創(chuàng)建美觀的進(jìn)度條,以跟蹤代碼中循環(huán)、迭代和任務(wù)的執(zhí)行進(jìn)度,本文給大家介紹python進(jìn)度條庫tqdm使用記錄,感興趣的朋友跟隨小編一起看看吧2023-10-10
Python 循環(huán)讀取數(shù)據(jù)內(nèi)存不足的解決方案
這篇文章主要介紹了Python 循環(huán)讀取數(shù)據(jù)內(nèi)存不足的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05

