這篇文章主要為大家詳細介紹了Python3實現發送QQ郵件功能,附件方面,具有一定的參考價值,對Python3感興趣的小夥伴們可以參考一下
本文執行個體為大家分享了Python3實現發送QQ郵件功能:附件,供大家參考,具體內容如下
可以成功發送郵件附件,但是郵件主要內容無法發送,有空再去找找原因
import smtplibfrom email.mime.text import MIMETextfrom email.utils import formataddrfrom email.header import Headermy_sender = 'xxxx@qq.com' # 寄件者郵箱帳號my_pass = 'xxxxx' # 寄件者郵箱密碼(當時申請smtp給的口令)my_user = 'xxxxxxx@qq.com' # 收件者郵箱帳號,我這邊發送給自己rdef mail(): ret = True try: msg = MIMEText(open('a.txt', 'rb').read(), 'base64', 'utf-8') msg["Content-Type"] = 'application/octet-stream' msg["Content-Disposition"] = 'attachment; filename="a.txt"' msg['From']=formataddr(["xxxxx", my_sender]) # 括弧裡的對應寄件者郵箱暱稱、寄件者郵箱帳號 msg['To']=formataddr(["xxxxxx", my_user]) # 括弧裡的對應收件者郵箱暱稱、收件者郵箱帳號 msg['Subject']= '郵件主題' # 郵件的主題,也可以說是標題 server=smtplib.SMTP_SSL("smtp.qq.com", 465) # 寄件者郵箱中的SMTP伺服器,連接埠是465 server.login(my_sender, my_pass) # 括弧中對應的是寄件者郵箱帳號、郵箱密碼 server.sendmail(my_sender, [my_user,], msg.as_string()) # 括弧中對應的是寄件者郵箱帳號、收件者郵箱帳號、發送郵件 server.quit() # 關閉串連 except Exception: # 如果 try 中的語句沒有執行,則會執行下面的 ret=False ret = False return retret = mail()if ret: print("郵件發送成功")else: print("郵件發送失敗")