這裏使用了 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("郵件發送失敗!")