最近碰見一個大佬問我python發(fā)送郵件的問題, 之前用過骆膝, 但也忘了七七八八了,現(xiàn)在趁此機會灶体, 重新整理之阅签, 以作后用。
Python發(fā)送郵件的兩個包:smtplib 用來發(fā)送郵件蝎抽。email 用來構(gòu)建郵件政钟。
Python 的 email 模塊里包含了許多實用的郵件格式設(shè)置函數(shù),用來創(chuàng)建郵件樟结。使用的 MIMEText 對象养交,為底層的MIME協(xié)議傳輸創(chuàng)建了一封空郵件,最后通過SMTP 協(xié)議發(fā)送出去瓢宦。 MIMEText 對象 msg 包括收發(fā)郵箱地址碎连、郵件正文和主題,Python 通過MIMEText 就可以創(chuàng)建一封格式正確文本郵件驮履。用MIMEMultipart構(gòu)建附件鱼辙。smtplib 模塊用來設(shè)置服務(wù)器連接的相關(guān)信息。
這里以網(wǎng)易郵箱為為例:需要打開網(wǎng)易是指開啟SMTP服務(wù)疲吸, 接下來獲取授權(quán)碼,授權(quán)碼在代碼中是用來代替密碼來操作的前鹅。(QQ郵箱的SMTP服務(wù)開啟后摘悴,代碼中需要用SMTP_SSL構(gòu)建會話實例, 不然會有報錯:Connection unexpectedly closed)