新聞中心
利用python怎么實(shí)現(xiàn)一個(gè)自動(dòng)化郵件發(fā)送功能?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

在python中,通過(guò)如下兩個(gè)模塊可以實(shí)現(xiàn)郵件的自動(dòng)化操作
smtplib
email
smtplib模塊是對(duì)SMTP協(xié)議的封裝,用于發(fā)送郵件;email模塊用于構(gòu)建郵件內(nèi)容,支持以下3種形式的郵件
純文本
html
帶附件
首先來(lái)看下郵件的構(gòu)建,對(duì)于一封郵件,需要指定發(fā)件人,收件人,主題,正文等內(nèi)容,以最簡(jiǎn)單的純文本郵件為例,構(gòu)建方式如下
>>> from email.mime.text import MIMEText
>>> from email.header import Header
>>> subject = '主題'
>>> message = MIMEText('正文', 'plain', 'utf-8')
>>> message['From'] = Header("發(fā)件人", 'utf-8')
>>> message['To'] = Header("收件人", 'utf-8')
>>> message['Subject'] = Header(subject, 'utf-8')通過(guò)MIMEText方法來(lái)創(chuàng)建郵件,第一個(gè)參數(shù)為郵件的正文,第二個(gè)參數(shù)為郵件正文的形式,plain表示純文本,第三個(gè)參數(shù)指定編碼方式;然后通過(guò)From, To, Subject等屬性的設(shè)置來(lái)分別指定發(fā)件人,收件人和主題。
對(duì)于html形式的郵件,只需要指定MIMEText的第二個(gè)參數(shù)為html即可,用法如下
>>> msg = '正文
' >>> message = MIMEText(msg, 'html', 'utf-8')
對(duì)于帶附件的郵件,需要通過(guò)MIMEMultipart來(lái)創(chuàng)建郵件,用法如下
>>> from email.mime.multipart import MIMEMultipart
>>> message = MIMEMultipart()
>>> message.attach(MIMEText('正文', 'plain', 'utf-8'))
>>> attach = MIMEText(open('input.txt', 'rb').read(), 'base64', 'utf-8')
>>> attach["Content-Type"] = 'application/octet-stream'
>>> attach["Content-Disposition"] = 'attachment; filename="test.txt"'
>>> message.attach(attach)創(chuàng)建好郵件之后,就可以通過(guò)SMTP來(lái)發(fā)送了,這里以QQ郵箱為例,首先需要開(kāi)啟QQ郵箱的SMTP服務(wù)器,然后生成授權(quán)碼,圖示如下

用QQ郵箱發(fā)送郵件的代碼如下
>>> import smtplib
>>> from email.mime.text import MIMEText
>>> from email.header import Header
>>> message = MIMEText('正文', 'plain', 'utf-8')
>>> message['From'] = Header("發(fā)件人", 'utf-8')
>>> message['To'] = Header("收件人", 'utf-8')
>>> message['Subject'] = Header('主題', 'utf-8')
>>> server=smtplib.SMTP_SSL("smtp.qq.com", 465)
>>> server.login('xxxxxxxx@qq.com', 'dvyybvbwpnnbbdaj')
>>> server.sendmail('xxxxxxxx@qq.com', 'xxxxxxxx@qq.com' , message.as_string())對(duì)于需要定期發(fā)送,且內(nèi)容較為固定的郵件,通過(guò)自動(dòng)化可以大大減少工作量,比如通過(guò)python監(jiān)控磁盤(pán)空間,當(dāng)使用率超過(guò)80%時(shí),自動(dòng)向運(yùn)維人員發(fā)送郵件,以提醒備份和清理磁盤(pán)。
看完上述內(nèi)容,你們掌握利用python怎么實(shí)現(xiàn)一個(gè)自動(dòng)化郵件發(fā)送功能的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
文章題目:利用python怎么實(shí)現(xiàn)一個(gè)自動(dòng)化郵件發(fā)送功能-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://www.dlmjj.cn/article/digoph.html


咨詢
建站咨詢
