利用 python 傳送郵件
阿新 • • 發佈:2022-12-10
電子郵件系統簡述
電子郵件系統的組成如下圖:
電子郵件的傳送過程如下圖:
一封電子郵件由一個基本的信封、數個首部欄位、一個空行和郵件主體組成,常見的首部如下圖:
python實現
此處僅實現文字內容的電子郵件傳送。
emai實現郵件構造,其中MIMEText提供郵件構造功能,Header提供編碼功能。
smtplib實現SMTP協議,完成郵件傳送。
from email.header import Header from email.mime.text import MIMEText import smtplib def sendEmail(from_addr, password, to_addr, smtp_server, content): ''' parameters: from_addr 傳送方郵箱 password 傳送方密碼 to_addr 接收方郵箱 smtp_server 傳送方郵件伺服器 content 郵件內容 {'text': 'xxx', 'subject': 'xxx'} ''' msg = MIMEText(content['text'], 'plain', 'utf-8') msg['From'] = Header(from_addr) msg['To'] = Header(to_addr) msg['Subject'] = Header(content['subject']) server = smtplib.SMTP(smtp_server, 25) server.set_debuglevel(1) server.login(from_addr, password) server.sendmail(from_addr, [to_addr], msg.as_string()) server.quit() if __name__ == '__main__': content = {'text': '郵件傳送測試', 'subject': 'test'} from_addr = '[email protected]' #以QQ郵箱為例 password = 'xxx' #授權碼 to_addr = '[email protected]' #接收方郵箱 smtp_server = 'smtp.qq.com' #傳送方伺服器 sendEmail(from_addr, password, to_addr, smtp_server, content)