python3通過qq郵箱發送郵件,python3發送郵件
python3通過qq郵箱發送郵件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給的口令)to_user='xxxxxx@xx.com' # 收件者郵箱帳號,我這邊發送給自己def mail(): ret=True try: msg=MIMEText('填寫郵件內容','plain','utf-8') msg['From']=formataddr(["寄件者暱稱",my_sender]) # 括弧裡的對應寄件者郵箱暱稱、寄件者郵箱帳號 msg['To']=formataddr(["收件者暱稱",to_user]) # 括弧裡的對應收件者郵箱暱稱、收件者郵箱帳號 msg['Subject']="郵件主題-測試" # 郵件的主題,也可以說是標題 server=smtplib.SMTP_SSL("smtp.qq.com", 465) # 寄件者郵箱中的SMTP伺服器,連接埠是465 server.login(my_sender, my_pass) # 括弧中對應的是寄件者郵箱帳號、郵箱密碼 server.sendmail(my_sender,[to_user,],msg.as_string()) # 括弧中對應的是寄件者郵箱帳號、收件者郵箱帳號、發送郵件 server.quit()# 關閉串連 except Exception as e:# 如果 try 中的語句沒有執行,則會執行下面的 ret=False
print(e) ret=False return retret=mail()if ret: print("郵件發送成功")else: print("郵件發送失敗")
注意:如果收件者地址錯誤,但代碼還是會提示"郵件發送成功",如果是地址錯誤在qq郵箱中會收到"來自qq.com的退信"
摘自:https://www.cnblogs.com/xshan/p/7954317.html 如有冒犯,請聯絡本人.
此篇僅供參考,不得用於商業用途。