python3實(shí)現(xiàn)163郵箱SMTP發(fā)送郵件
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é)議如下圖所示。
測試的前提是你需要開通客戶端授權(quán),開通后會讓你設(shè)置密碼,那個(gè)密碼要記好,下面的passwd接收的是授權(quán)密碼而不是郵箱密碼!否則會出現(xiàn)下圖所示的錯誤提示:
小栗子:
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) # 登錄驗(yàn)證 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)
如果測試出現(xiàn)報(bào)錯,請看網(wǎng)易郵箱給出的狀態(tài)碼及含義。
菜鳥教程也有詳細(xì)教程。
本文有參考孫華強(qiáng)的博客,十分感謝。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python實(shí)現(xiàn)給qq郵箱發(fā)送郵件的方法
- Python使用QQ郵箱發(fā)送Email的方法實(shí)例
- python利用smtplib實(shí)現(xiàn)QQ郵箱發(fā)送郵件
- python3使用騰訊企業(yè)郵箱發(fā)送郵件的實(shí)例
- 淺談Python用QQ郵箱發(fā)送郵件時(shí)授權(quán)碼的問題
- python實(shí)現(xiàn)QQ郵箱/163郵箱的郵件發(fā)送
- python使用QQ郵箱實(shí)現(xiàn)自動發(fā)送郵件
- python實(shí)現(xiàn)自動獲取IP并發(fā)送到郵箱
- python3+selenium實(shí)現(xiàn)qq郵箱登陸并發(fā)送郵件功能
- python實(shí)現(xiàn)郵箱發(fā)送信息
相關(guān)文章
Python插件virtualenv搭建虛擬環(huán)境
這篇文章主要為大家詳細(xì)介紹了Python插件virtualenv搭建虛擬環(huán)境,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11django中send_mail功能實(shí)現(xiàn)詳解
這篇文章主要給大家介紹了關(guān)于django中send_mail功能實(shí)現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-02-02淺談Python 字符串格式化輸出(format/printf)
下面小編就為大家?guī)硪黄獪\談Python 字符串格式化輸出(format/printf)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-07-07python深度學(xué)習(xí)標(biāo)準(zhǔn)庫使用argparse調(diào)參
這篇文章主要為大家介紹了python深度學(xué)習(xí)標(biāo)準(zhǔn)庫使用argparse調(diào)參實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Python+opencv 實(shí)現(xiàn)圖片文字的分割的方法示例
這篇文章主要介紹了Python+opencv 實(shí)現(xiàn)圖片文字的分割的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Python?OpenCV實(shí)現(xiàn)人物動漫化效果
這篇文章主要介紹了利用Python和OpenCV實(shí)現(xiàn)人物的動漫化特效,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python和OpenCV有一定的幫助,需要的可以了解一下2022-01-01