溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python3怎么實現(xiàn)163郵箱SMTP發(fā)送郵件

發(fā)布時間:2021-05-07 12:23:54 來源:億速云 閱讀:308 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下python3怎么實現(xiàn)163郵箱SMTP發(fā)送郵件,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

python的五大特點(diǎn)是什么

python的五大特點(diǎn):1.簡單易學(xué),開發(fā)程序時,專注的是解決問題,而不是搞明白語言本身。2.面向?qū)ο?,與其他主要的語言如C++和Java相比, Python以一種非常強(qiáng)大又簡單的方式實現(xiàn)面向?qū)ο缶幊獭?.可移植性,Python程序無需修改就可以在各種平臺上運(yùn)行。4.解釋性,Python語言寫的程序不需要編譯成二進(jìn)制代碼,可以直接從源代碼運(yùn)行程序。5.開源,Python是 FLOSS(自由/開放源碼軟件)之一。

SMTP協(xié)議

首先了解SMTP(簡單郵件傳輸協(xié)議),郵件傳送代理程序使用SMTP協(xié)議來發(fā)送電郵到接收者的郵件服務(wù)器。SMTP協(xié)議只能用來發(fā)送郵件,不能用來接收郵件,而大多數(shù)的郵件發(fā)送服務(wù)器都是使用SMTP協(xié)議。SMTP協(xié)議的默認(rèn)TCP端口號是25。

發(fā)送郵件之前的配置:

上面說了是使用SMTP協(xié)議發(fā)送的郵件,所以需要先查看你的發(fā)件人郵箱是否有開啟SMTP協(xié)議,如沒有,則需要開啟,我測試使用的是163.com的郵箱作為發(fā)信人郵箱,在設(shè)置中開啟SMTP協(xié)議如下圖所示。

python3怎么實現(xiàn)163郵箱SMTP發(fā)送郵件

??測試的前提是你需要開通客戶端授權(quán),開通后會讓你設(shè)置密碼,那個密碼要記好,下面的passwd接收的是授權(quán)密碼而不是郵箱密碼!否則會出現(xiàn)下圖所示的錯誤提示:

python3怎么實現(xiàn)163郵箱SMTP發(fā)送郵件

小栗子:

import smtplib 
from email.header import Header 
from email.mime.text import MIMEText 
 
# 第三方 SMTP 服務(wù) 
mail_host = "smtp.163.com" # SMTP服務(wù)器 
mail_user = "***"   # 用戶名 
mail_pass = "***"  # 授權(quán)密碼,非登錄密碼 
 
sender = ***@163.com' # 發(fā)件人郵箱(最好寫全, 不然會失敗) 
receivers = [***@qq.com'] # 接收郵件,可設(shè)置為你的QQ郵箱或者其他郵箱 
 
content = '我用Python' 
title = '人生苦短' # 郵件主題 
 
def sendEmail(): 
 
 message = MIMEText(content, 'plain', 'utf-8') # 內(nèi)容, 格式, 編碼 
 message['From'] = "{}".format(sender) 
 message['To'] = ",".join(receivers) 
 message['Subject'] = title 
 
 try: 
 smtpObj = smtplib.SMTP_SSL(mail_host, 465) # 啟用SSL發(fā)信, 端口一般是465 
 smtpObj.login(mail_user, mail_pass) # 登錄驗證 
 smtpObj.sendmail(sender, receivers, message.as_string()) # 發(fā)送 
 print("mail has been send successfully.") 
 except smtplib.SMTPException as e: 
 print(e) 
 
def send_email2(SMTP_host, from_account, from_passwd, to_account, subject, content): 
 email_client = smtplib.SMTP(SMTP_host) 
 email_client.login(from_account, from_passwd) 
 # create msg 
 msg = MIMEText(content, 'plain', 'utf-8') 
 msg['Subject'] = Header(subject, 'utf-8') # subject 
 msg['From'] = from_account 
 msg['To'] = to_account 
 email_client.sendmail(from_account, to_account, msg.as_string()) 
 
 email_client.quit() 
 
if __name__ == '__main__': 
 sendEmail() 
 # receiver = '***' 
 # send_email2(mail_host, mail_user, mail_pass, receiver, title, content)

以上是“python3怎么實現(xiàn)163郵箱SMTP發(fā)送郵件”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI