python實現(xiàn)發(fā)送郵件
本文用163郵箱進(jìn)行了測試,python用的是3.8版本進(jìn)行的測試
1.設(shè)置郵箱,如下圖所示設(shè)置完成后,添加如下代碼:
# coding:utf-8 #強(qiáng)制使用utf-8編碼格式import smtplib # 加載smtplib模塊from email.mime.text import MIMETextfrom email.utils import formataddrfrom email.header import Header #需要設(shè)置的內(nèi)容如下所示:my_sender = ’xxx@163.com’ # 發(fā)件人郵箱賬號,為了后面易于維護(hù),所以寫成了變量my_user = ’yyy@163.com’ # 收件人郵箱賬號,為了后面易于維護(hù),所以寫成了變量my_authorization_code = ’*********’ #在開啟SMTP時的授權(quán)碼my_smtp = ’smtp.163.com’ #163的SMTP服務(wù)my_smtp_port = 25 #163的SMTP服務(wù)的端口號 def mail(): ret = True try: msg = MIMEText(’我是測試內(nèi)容’, ’plain’, ’utf-8’) msg[’From’] = formataddr(['username', my_sender]) # 括號里的對應(yīng)發(fā)件人郵箱昵稱、發(fā)件人郵箱賬號 msg[’To’] = formataddr(['你的名稱', my_user]) # 括號里的對應(yīng)收件人郵箱昵稱、收件人郵箱賬號 subject = ’Python SMTP 郵件測試’ msg[’Subject’] = Header(subject, ’utf-8’) server = smtplib.SMTP(my_smtp, my_smtp_port) # 發(fā)件人郵箱中的SMTP服務(wù)器,端口是25 server.login(my_sender, my_authorization_code) # 括號中對應(yīng)的是發(fā)件人郵箱賬號、在開啟SMTP時的授權(quán)碼 server.sendmail(my_sender, my_user, msg.as_string()) # 括號中對應(yīng)的是發(fā)件人郵箱賬號、收件人郵箱賬號、發(fā)送郵件 server.quit() # 這句是關(guān)閉連接的意思 except Exception: # 如果try中的語句沒有執(zhí)行,則會執(zhí)行下面的ret=False ret = False return ret ret = mail()if ret: print('發(fā)送郵件成功!') # 如果發(fā)送成功,稍等20秒左右就可以收到郵件else: print('發(fā)送郵件失敗')
運行后收到郵件后,表示成功運行。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
