郵件是日常生活中不可或缺的一部分,而郵件中的附件也經常會被使用到。Python提供了非常方便的方法來處理郵件的附件,本文將詳細介紹Python郵件附件名相關的知識。
import os import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.application import MIMEApplication def send_email(send_from, send_to, subject, text, files=None): msg = MIMEMultipart() msg['From'] = send_from msg['To'] = send_to msg['Subject'] = subject msg.attach(MIMEText(text)) for f in files or []: with open(f, "rb") as fil: ext = f.split('.')[-1:] attachedfile = MIMEApplication(fil.read(), _subtype = ext) attachedfile.add_header( 'content-disposition', 'attachment', filename=os.path.basename(f) ) msg.attach(attachedfile) smtp = smtplib.SMTP(host='smtp.gmail.com', port=587) smtp.starttls() smtp.login('your_email@gmail.com', 'your_password') smtp.send_message(msg) smtp.close() send_email('from@example.com', 'to@example.com', 'subject', 'text', ['file1.txt', 'file2.txt'])
在上述代碼中,首先需要導入相關模塊。MIMEMultipart是一個郵件容器,MIMEText是一個文本信息容器,MIMEApplication是一個二進制附件容器,這三個容器用于將郵件內容封裝后傳遞到smtp服務器。
在send_email函數中,首先構造郵件內容。使用attach方法添加文本信息,并且使用一個for循環來依次添加多個附件,通過讀取附件文件的內容創建MIMEApplication對象并將其添加到msg中。使用os.path.basename獲取文件名,用于設置附件的文件名,在content-disposition中設置attachment用于說明這是一個附件。
注意,代碼中的SMTP服務和賬戶信息需要根據實際情況進行修改。如果使用的是Google郵箱賬戶,需要先登錄到Google賬戶并打開“安全性”設置頁面,啟用`Allow less secure apps`才可以進行郵件發送操作。
總的來說,使用Python處理郵件附件非常方便。通過使用MIMEMultipart、MIMEText和MIMEApplication這些容器,可以對郵件數據進行拆分和組合,從而實現郵件的發送、接收和處理。
上一篇go數組轉化為json