1. 程式人生 > >Python練習之-----使用第三方 SMTP 服務傳送(QQ)

Python練習之-----使用第三方 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("郵件傳送失敗!")