在Python中添加附件是非常容易的,這里簡單介紹一下。
首先,我們需要使用Python內置的email和smtplib模塊。
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.application import MIMEApplication msg = MIMEMultipart() msg['Subject'] = '測試郵件' # 郵件主題 msg['From'] = 'sender@example.com' # 發件人 msg['To'] = 'receiver@example.com' # 收件人 # 郵件正文 body = MIMEText("這是一封測試郵件") msg.attach(body) # 添加附件 with open("example.pdf", "rb") as f: attachment = MIMEApplication(f.read(), _subtype='pdf') attachment.add_header('Content-Disposition', 'attachment', filename='example.pdf') msg.attach(attachment) # 發送郵件 smtp_server = 'smtp.gmail.com' smtp_port = 587 smtp_username = 'sender@example.com' smtp_password = 'password' smtp_connection = smtplib.SMTP(smtp_server, smtp_port) smtp_connection.starttls() smtp_connection.login(smtp_username, smtp_password) smtp_connection.sendmail(msg['From'], msg['To'], msg.as_string()) smtp_connection.quit()
上面的代碼中,我們首先定義了一個MIMEMultipart對象作為郵件的容器,設置了郵件主題、發件人和收件人信息,接著創建了一個MIMEText對象作為郵件正文,并使用attach方法將其添加到郵件容器中。
最后,我們使用open函數讀取要添加的附件,在使用MIMEApplication對象包裝文件數據并設置Content-Disposition頭信息的同時,將其添加到郵件容器中。
使用smtplib模塊發送郵件,需要先連接SMTP服務器,使用starttls方法加密通信,然后使用login方法登錄SMTP服務器,最后使用sendmail方法發送郵件。
上一篇python 添加頭信息
下一篇python 混合編碼