一、163郵箱設定
進入163郵箱,點選設定中的pop3/smtp/imap
開啟smtp服務,如果沒有開啟,點選設定,手機號驗證後勾選開啟即可,開啟後圖如下:
主要用到的就是smtp伺服器:smtp.163.com
然後設定客戶端授權密碼:
記住密碼,如果不記得密碼在這重新授權。手機號驗證即可重新授權。這個密碼一會寫程式碼的時候要用
設定成功後,開始寫程式碼
二、程式碼實現
1 # --*-- coding:utf-8 --*-- 2 3 # 匯入所需要的庫 4 import smtplib #這個庫用於傳送郵件 5 from email.mime.text import MIMEText #用於寫郵件主題、內容等 6 7 8 # 第一步:設定登陸郵箱資料 9 # smtp伺服器 10 smtp_server = 'smtp.163.com' # 剛才在163郵箱中設定後出現的內容 11 # 設定郵箱地址,自己的郵箱,傳送者 12 sender = 'SunshineWuya@163.com' 13 # 郵箱密碼,163郵箱設定中的客戶端授權密碼 14 pwd = 'xxxxxxx' 15 16 17 # 第二步:設定傳送的內容 18 # 傳送內容text 19 text = 'python自動傳送郵件' 20 # 將傳送的內容轉化為郵件的文字內容 21 txt = MIMEText(text) 22 # 設定郵件主題 23 txt['Subject'] = 'test send email' 24 # 設定郵件傳送者 25 txt['From'] = sender 26 27 28 # 第三步:傳送郵件 29 # 建立SMTP伺服器 30 mail_server = smtplib.SMTP(smtp_server,25) 31 # 登陸伺服器 32 mail_server.login(sender,pwd) 33 # 傳送郵件 34 mail_server.sendmail(sender,['SunshineWuya@163.com'],txt.as_string()) 35 # 第一個引數為傳送者,第二個引數為接收者,可以新增多個例如:['SunshineWuya@163.com','xxx@qq.com',] 36 # 第三個引數為傳送的內容 37 38 39 # 第四步:退出登陸 40 mail_server.quit()
三、檢視結果
在收件箱中檢視結果:
檢視郵件的內容:
四、將收件人的郵箱地址換成傳送者的地址,報554錯誤
出現554的錯誤有很多,筆者是收件人To和發件人From沒有成對出現造成的,具體問題具體分析,更多解決方法可以百度
解決方法:
將收件人地址新增在To中,再次傳送