您的位置:首頁技術文章
文章詳情頁

python自動化發送郵件實例講解

瀏覽:21日期:2022-06-30 14:14:56

在python中,通過如下兩個模塊可以實現郵件的自動化操作

smtplib email

smtplib模塊是對SMTP協議的封裝,用于發送郵件;email模塊用于構建郵件內容,支持以下3種形式的郵件

純文本 html 帶附件

首先來看下郵件的構建,對于一封郵件,需要指定發件人,收件人,主題,正文等內容,以最簡單的純文本郵件為例,構建方式如下

>>> from email.mime.text import MIMEText>>> from email.header import Header>>> subject = ’主題’>>> message = MIMEText(’正文’, ’plain’, ’utf-8’)>>> message[’From’] = Header('發件人', ’utf-8’)>>> message[’To’] = Header('收件人', ’utf-8’)>>> message[’Subject’] = Header(subject, ’utf-8’)

通過MIMEText方法來創建郵件,第一個參數為郵件的正文,第二個參數為郵件正文的形式,plain表示純文本,第三個參數指定編碼方式;然后通過From, To, Subject等屬性的設置來分別指定發件人,收件人和主題。

對于html形式的郵件,只需要指定MIMEText的第二個參數為html即可,用法如下

>>> msg = ’<p>正文</p>’>>> message = MIMEText(msg, ’html’, ’utf-8’)

對于帶附件的郵件,需要通過MIMEMultipart來創建郵件,用法如下

>>> 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)

創建好郵件之后,就可以通過SMTP來發送了,這里以QQ郵箱為例,首先需要開啟QQ郵箱的SMTP服務器,然后生成授權碼,圖示如下

python自動化發送郵件實例講解

用QQ郵箱發送郵件的代碼如下

>>> import smtplib>>> from email.mime.text import MIMEText>>> from email.header import Header>>> message = MIMEText(’正文’, ’plain’, ’utf-8’)>>> message[’From’] = Header('發件人', ’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())

對于需要定期發送,且內容較為固定的郵件,通過自動化可以大大減少工作量,比如通過python監控磁盤空間,當使用率超過80%時,自動向運維人員發送郵件,以提醒備份和清理磁盤。

到此這篇關于python自動化發送郵件實例講解的文章就介紹到這了,更多相關使用python自動化發送郵件內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
国产综合久久一区二区三区