本文實例為大家分享了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("郵件發送失敗")以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。
新聞熱點
疑難解答