您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)利用python怎么實(shí)現(xiàn)在郵件中附加文字、html、圖片等功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.image import MIMEImage from email.header import Header #設(shè)置smtplib所需的參數(shù) #下面的發(fā)件人,收件人是用于郵件傳輸?shù)摹? smtpserver = 'smtp.163.com' username = 'XXX@163.com' password='XXX' sender='XXX@163.com' #receiver='XXX@126.com' #收件人為多個(gè)收件人 receiver=['XXX@126.com','XXX@126.com'] subject = 'Python email test' #通過(guò)Header對(duì)象編碼的文本,包含utf-8編碼信息和Base64編碼信息。以下中文名測(cè)試ok #subject = '中文標(biāo)題' #subject=Header(subject, 'utf-8').encode() #構(gòu)造郵件對(duì)象MIMEMultipart對(duì)象 #下面的主題,發(fā)件人,收件人,日期是顯示在郵件頁(yè)面上的。 msg = MIMEMultipart('mixed') msg['Subject'] = subject msg['From'] = 'XXX@163.com <XXX@163.com>' #msg['To'] = 'XXX@126.com' #收件人為多個(gè)收件人,通過(guò)join將列表轉(zhuǎn)換為以;為間隔的字符串 msg['To'] = ";".join(receiver) #msg['Date']='2012-3-16' #構(gòu)造文字內(nèi)容 text = "Hi!\nHow are you?\nHere is the link you wanted:\nhttp://www.baidu.com" text_plain = MIMEText(text,'plain', 'utf-8') msg.attach(text_plain) #構(gòu)造圖片鏈接 sendimagefile=open(r'D:\pythontest\testimage.png','rb').read() image = MIMEImage(sendimagefile) image.add_header('Content-ID','<image1>') image["Content-Disposition"] = 'attachment; filename="testimage.png"' msg.attach(image) #構(gòu)造html #發(fā)送正文中的圖片:由于包含未被許可的信息,網(wǎng)易郵箱定義為垃圾郵件,報(bào)554 DT:SPM :<p><img src="cid:image1"></p> html = """ <html> <head></head> <body> <p>Hi!<br> How are you?<br> Here is the <a href="http://www.baidu.com" rel="external nofollow" >link</a> you wanted.<br> </p> </body> </html> """ text_html = MIMEText(html,'html', 'utf-8') text_html["Content-Disposition"] = 'attachment; filename="texthtml.html"' msg.attach(text_html) #構(gòu)造附件 sendfile=open(r'D:\pythontest\1111.txt','rb').read() text_att = MIMEText(sendfile, 'base64', 'utf-8') text_att["Content-Type"] = 'application/octet-stream' #以下附件可以重命名成aaa.txt #text_att["Content-Disposition"] = 'attachment; filename="aaa.txt"' #另一種實(shí)現(xiàn)方式 text_att.add_header('Content-Disposition', 'attachment', filename='aaa.txt') #以下中文測(cè)試不ok #text_att["Content-Disposition"] = u'attachment; filename="中文附件.txt"'.decode('utf-8') msg.attach(text_att) #發(fā)送郵件 smtp = smtplib.SMTP() smtp.connect('smtp.163.com') #我們用set_debuglevel(1)就可以打印出和SMTP服務(wù)器交互的所有信息。 #smtp.set_debuglevel(1) smtp.login(username, password) smtp.sendmail(sender, receiver, msg.as_string()) smtp.quit()
看完上述內(nèi)容,你們對(duì)利用python怎么實(shí)現(xiàn)在郵件中附加文字、html、圖片等功能有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。