python實現自動化郵件傳送
測試環境:
os:windows10
編譯軟體:pycharm,python
傳送端:aaa@qq.com
接收端:bbb@outlook.com,ccc@qq.com
1.傳送端需開啟POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務。
我這裡使用的是QQ,需要去mail.qq.com開啟此服務:【登入】-【設定】-【賬號】-【OP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務】
沒有開啟的話會顯示服務已關閉,需手動開啟,我這裡是開啟的,點選【管理服務】
會生成授權嗎,自己儲存一下。
2.以下是python指令碼,自己儲存一下:
1 import smtplib # 模組用於傳送郵件 2 from email.mime.text import MIMEText # 用於建立純文字郵件內容 3 from email.mime.multipart import MIMEMultipart # 用於建立包含附件的郵件內容 4 from email.header import Header # 用於處理郵件頭部資訊 5 6 # 郵件傳送方郵箱地址 7 sender = 'aaa@qq.com' 8 # 郵件接收方郵箱地址 9 receivers = ['bbb@outlook.com', 'ccc@qq.com'] 10 11 # 設定郵件內容 12 message = MIMEMultipart() 13 message['From'] = Header('aaa@qq.com') 14 message['To'] = Header('bbb@outlook.com') 15 subject = 'Python SMTP 郵件測試' 16 message['Subject'] = Header(subject, 'utf-8') 17 18 # 郵件正文內容 19 message.attach(MIMEText('這是一封使用 Python 傳送的郵件', 'plain', 'utf-8')) 20 21 # 登入郵箱,密碼為授權碼 22 mail_host = "smtp.qq.com" 23 mail_user = "aaa@qq.com" 24 mail_pass = "**********" # 授權碼 25 26 try: 27 smtpObj = smtplib.SMTP_SSL(mail_host, 465) 28 smtpObj.login(mail_user, mail_pass) 29 smtpObj.sendmail(sender, receivers, message.as_string()) 30 print("郵件傳送成功") 31 except smtplib.SMTPException as e: 32 print("Error: 無法傳送郵件。錯誤資訊:", e)
測試合格
#The write:zuijiaz@outlook.com
#Time of creation:2024.03.13