python實(shí)現(xiàn)發(fā)送郵件
本文用163郵箱進(jìn)行了測(cè)試,python用的是3.8版本進(jìn)行的測(cè)試
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ào),為了后面易于維護(hù),所以寫成了變量my_user = ’yyy@163.com’ # 收件人郵箱賬號(hào),為了后面易于維護(hù),所以寫成了變量my_authorization_code = ’*********’ #在開啟SMTP時(shí)的授權(quán)碼my_smtp = ’smtp.163.com’ #163的SMTP服務(wù)my_smtp_port = 25 #163的SMTP服務(wù)的端口號(hào) def mail(): ret = True try: msg = MIMEText(’我是測(cè)試內(nèi)容’, ’plain’, ’utf-8’) msg[’From’] = formataddr(['username', my_sender]) # 括號(hào)里的對(duì)應(yīng)發(fā)件人郵箱昵稱、發(fā)件人郵箱賬號(hào) msg[’To’] = formataddr(['你的名稱', my_user]) # 括號(hào)里的對(duì)應(yīng)收件人郵箱昵稱、收件人郵箱賬號(hào) subject = ’Python SMTP 郵件測(cè)試’ 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) # 括號(hào)中對(duì)應(yīng)的是發(fā)件人郵箱賬號(hào)、在開啟SMTP時(shí)的授權(quán)碼 server.sendmail(my_sender, my_user, msg.as_string()) # 括號(hào)中對(duì)應(yīng)的是發(fā)件人郵箱賬號(hào)、收件人郵箱賬號(hào)、發(fā)送郵件 server.quit() # 這句是關(guān)閉連接的意思 except Exception: # 如果try中的語句沒有執(zhí)行,則會(huì)執(zhí)行下面的ret=False ret = False return ret ret = mail()if ret: print('發(fā)送郵件成功!') # 如果發(fā)送成功,稍等20秒左右就可以收到郵件else: print('發(fā)送郵件失敗')
運(yùn)行后收到郵件后,表示成功運(yùn)行。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. PHP循環(huán)與分支知識(shí)點(diǎn)梳理2. Ajax請(qǐng)求超時(shí)與網(wǎng)絡(luò)異常處理圖文詳解3. 解決ajax請(qǐng)求后臺(tái),有時(shí)收不到返回值的問題4. XML入門的常見問題(一)5. JavaWeb Servlet中url-pattern的使用6. ASP中格式化時(shí)間短日期補(bǔ)0變兩位長日期的方法7. 關(guān)于Ajax跨域問題及解決方案詳析8. jsp EL表達(dá)式詳解9. .NET6打包部署到Windows Service的全過程10. JSP之表單提交get和post的區(qū)別詳解及實(shí)例
