python傳送郵件實現程式碼
阿新 • • 發佈:2022-05-30
Python傳送郵件比較簡單,掌握兩個自帶庫 smtplib、email 即可。
使用的時候直接 import 。smtplib 負責傳送郵件,email 負責構造郵件(郵件內容,主題,收件人,抄送人等)。
一、傳送用的郵箱要先開啟SMTP、POP服務。(以qq郵箱為例)
1.1開啟設定
2.2、選擇:賬戶 拉到下面 ,開啟頭2個選項。
二、實現程式碼如下
import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.header importHeader server = "smtp.qq.com" sender = "[email protected]" pwd = "AAAAAAAAA" # 授權碼 receivers = "[email protected]" # 接收郵件,可設定為你的QQ郵箱或者其他郵箱 # 建立一個帶附件的例項 message = MIMEMultipart() message['From'] = Header("fengxing", 'utf-8') message['To'] = Header("執行報告", 'utf-8') subject = '自動化測試執行報告' message['Subject'] = Header(subject, 'utf-8') # 郵件正文內容 message.attach(MIMEText('最新的測試報告', 'plain', 'utf-8')) # 構造附件1,傳送當前目錄下的 test_doc.txt 檔案 att1 = MIMEText(open('./test_doc.txt', 'rb').read(), 'base64', 'utf-8') att1["Content-Type"] = 'application/octet-stream' # 這裡的filename可以任意寫,寫什麼名字,郵件中顯示什麼名字 att1["Content-Disposition"] = 'attachment; filename="文件"' message.attach(att1) smtpObj = smtplib.SMTP() try: smtpObj.connect(server) smtpObj.login(sender, pwd) smtpObj.ehlo() smtpObj.starttls() smtpObj.sendmail(sender, receivers, message.as_string()) print("郵件傳送成功") except smtplib.SMTPException as msg: print("Error: 無法傳送郵件") print(msg)