国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

使用Python發(fā)送各種形式的郵件的方法匯總

2019-11-25 17:02:45
字體:
供稿:網(wǎng)友

我們平時需要使用 Python 發(fā)送各類郵件,這個需求怎么來實現(xiàn)?答案其實很簡單,smtplib 和 email 庫可以幫忙實現(xiàn)這個需求。smtplib 和 email 的組合可以用來發(fā)送各類郵件:普通文本,HTML 形式,帶附件,群發(fā)郵件,帶圖片的郵件等等。我們這里將會分幾節(jié)把發(fā)送郵件功能解釋完成。
smtplib 是 Python 用來發(fā)送郵件的模塊,email 是用來處理郵件消息。

發(fā)送 HTML 形式的郵件
發(fā)送 HTML 形式的郵件,需要 email.mime.text 中的 MIMEText 的 _subtype 設(shè)置為 html,并且 _text 的內(nèi)容應(yīng)該為 HTML 形式。

import smtplibfrom email.mime.text import MIMETextsender = '***'receiver = '***'subject = 'python email test'smtpserver = 'smtp.163.com'username = '***'password = '***'msg = MIMEText(u'''<pre><h1>你好</h1></pre>''','html','utf-8')msg['Subject'] = subjectsmtp = smtplib.SMTP()smtp.connect(smtpserver)smtp.login(username, password)smtp.sendmail(sender, receiver, msg.as_string())smtp.quit()

注意:這里的代碼并沒有把異常處理加入,需要讀者自己處理異常。

發(fā)送帶圖片的郵件
發(fā)送帶圖片的郵件是利用 email.mime.multipart 的 MIMEMultipart 以及 email.mime.image 的 MIMEImage:

import smtplibfrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextfrom email.mime.image import MIMEImagesender = '***'receiver = '***'subject = 'python email test'smtpserver = 'smtp.163.com'username = '***'password = '***'msgRoot = MIMEMultipart('related')msgRoot['Subject'] = 'test message'msgText = MIMEText(  '''<b> Some <i> HTML </i> text </b > and an image.<img alt="" src="cid:image1"/>good!''', 'html', 'utf-8')msgRoot.attach(msgText)fp = open('/Users/1.jpg', 'rb')msgImage = MIMEImage(fp.read())fp.close()msgImage.add_header('Content-ID', '<image1>')msgRoot.attach(msgImage)smtp = smtplib.SMTP()smtp.connect(smtpserver)smtp.login(username, password)smtp.sendmail(sender, receiver, msgRoot.as_string())smtp.quit()

發(fā)送帶附件的郵件
發(fā)送帶附件的郵件是利用 email.mime.multipart 的 MIMEMultipart 以及 email.mime.image 的 MIMEImage,重點是構(gòu)造郵件頭信息:

import smtplibfrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextsender = '***'receiver = '***'subject = 'python email test'smtpserver = 'smtp.163.com'username = '***'password = '***'msgRoot = MIMEMultipart('mixed')msgRoot['Subject'] = 'test message'# 構(gòu)造附件att = MIMEText(open('/Users/1.jpg', 'rb').read(), 'base64', 'utf-8')att["Content-Type"] = 'application/octet-stream'att["Content-Disposition"] = 'attachment; filename="1.jpg"'msgRoot.attach(att)smtp = smtplib.SMTP()smtp.connect(smtpserver)smtp.login(username, password)smtp.sendmail(sender, receiver, msgRoot.as_string())smtp.quit()

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 融水| 南宫市| 伊宁县| 婺源县| 昌宁县| 额尔古纳市| 宁晋县| 绥江县| 太仓市| 秦皇岛市| 特克斯县| 无锡市| 郯城县| 襄垣县| 海淀区| 乡城县| 静安区| 阿勒泰市| 上虞市| 石河子市| 都昌县| 仁布县| 兴城市| 兴山县| 松潘县| 彰化县| 股票| 富裕县| 吴川市| 威信县| 葵青区| 红安县| 长岛县| 宜兰市| 郴州市| 琼中| 西乡县| 通州区| 仲巴县| 山东省| 黑龙江省|