Python練習之-----使用第三方 SMTP 服務傳送(QQ)
阿新 • • 發佈:2019-01-01
這裡使用了 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("郵件傳送失敗!")