使用第三方 SMTP 服務發送(QQ)

這裏使用了 QQ 郵箱(你也可以使用 163,Gmail等)的 SMTP 服務,需要做以下配置:
1、登錄QQ郵箱,點擊設置—賬戶—POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務

2、QQ 郵箱通過生成授權碼來設置密碼,如下

這裏寫圖片描述

QQ 郵箱 SMTP 服務器地址:smtp.qq.com,ssl 端口:465

根據實際的QQ郵箱和接收郵箱修改,就能直接使用。代碼如下:

#/usr/bin/python3
#-*- coding:UTF-8 -*-

# 導入所需要的庫
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

send_user = "[email protected]"       # 發件人的郵箱賬號
send_pwd = "xxxxxxx"        # 發件人郵箱的密碼
rec_user = "[email protected]"    #收件人郵箱

def mail():
    ret = True
    try:
        # 三個參數:第一個爲文本內容,第二個 plain 設置文本格式,第三個 utf-8 設置編碼
        msg = MIMEText("這是測試郵箱發送內容!", "plain", "utf-8")
        msg["From"] = formataddr(["FromSMTPQQ", send_user])  # 括號中對應發件人郵箱暱稱、發件人郵箱賬號
        msg["To"] = formataddr(["RecSMTP"], rec_user)  # 括號中對應收件人郵箱暱稱、收件人郵箱賬號
        msg["Subject"] = "這是郵件的主題"  # 郵件的主題或標題

        server = smtplib.SMTP_SSL("SMTP.qq.com", 446)   # 括號中對應的是發件人郵箱中的SMTP服務器,端口
        server.login(send_user, send_pwd)  # 括號中對應的是發件人郵箱賬號和密碼
        server.sendmail(send_user, [rec_user, msg.as_string()]) # 括號中對應的是發件人郵箱賬號、收件人郵箱賬號、發送郵件
        server.quit()  # 關閉連接
    except Exception:
        ret = False 
    return ret

ret = mail()
if ret:
    print("郵件發送成功!")
else:
    print("郵件發送失敗!")
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章