前言
本文主要給大家介紹了關于python3 smtplib通過qq郵箱發送郵件的相關內容, smtplib模塊是smtp簡單郵件傳輸協議客戶端的實現,為了通用性,有時候發送郵件的時候要帶附件或圖片,用email.mime來裝載內容。
詳細代碼參考說明:Python3 SMTP發送郵件
0.了解qq郵箱的SMTP
QQ郵箱 POP3 和 SMTP 服務器地址設置如下:
| 郵箱 | POP3服務器(端口995) | SMTP服務器(端口465或587) |
|---|---|---|
| qq.com | pop.qq.com | smtp.qq.com |
SMTP服務器需要身份驗證。
1.開啟qq郵箱的smtp服務
如何打開POP3/SMTP/IMAP功能?
為了保障用戶郵箱的安全,QQ郵箱設置了POP3/SMTP/IMAP的開關。系統缺省設置是“關閉”,在用戶需要這些功能時請“開啟”。 首先,登錄郵箱,進入設置-帳戶;

然后,在“帳戶”設置中,找到設置項,進行設置,如下:

最后,保存設置,即打開了相應的服務。
2.代碼
import smtplibfrom email.mime.text import MIMETextfrom email.utils import formataddrmy_sender='XXXXXXX@qq.com' # 發件人郵箱賬號my_pass = 'xxxxxxxxxxxx' # 發件人郵箱密碼(當時申請smtp給的口令)my_user='xxxxxx@xx.com' # 收件人郵箱賬號,我這邊發送給自己def mail(): ret=True try: msg=MIMEText('填寫郵件內容','plain','utf-8') msg['From']=formataddr(["發件人昵稱",my_sender]) # 括號里的對應發件人郵箱昵稱、發件人郵箱賬號 msg['To']=formataddr(["收件人昵稱",my_user]) # 括號里的對應收件人郵箱昵稱、收件人郵箱賬號 msg['Subject']="郵件主題-測試" # 郵件的主題,也可以說是標題 server=smtplib.SMTP_SSL("smtp.qq.com", 465) # 發件人郵箱中的SMTP服務器,端口是465 server.login(my_sender, my_pass) # 括號中對應的是發件人郵箱賬號、郵箱密碼 server.sendmail(my_sender,[my_user,],msg.as_string()) # 括號中對應的是發件人郵箱賬號、收件人郵箱賬號、發送郵件 server.quit()# 關閉連接 except Exception:# 如果 try 中的語句沒有執行,則會執行下面的 ret=False ret=False return retret=mail()if ret: print("郵件發送成功")else: print("郵件發送失敗")注意:如果收件人地址錯誤,但代碼還是會提示"郵件發送成功",如果是地址錯誤在qq郵箱中會收到"來自qq.com的退信"
3.效果
發送成功

發送
如果在一般郵件中沒看到,可以在垃圾郵件中查看

接收
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。
新聞熱點
疑難解答