在Python中保存电子邮件附件可以通过使用标准库中的email
和imaplib
模块来实现。下面是一个示例代码,演示了如何保存电子邮件附件:
import email
import imaplib
# 连接到邮件服务器
mail = imaplib.IMAP4_SSL('imap.example.com')
mail.login('your_email@example.com', 'your_password')
mail.select('inbox')
# 搜索邮件
result, data = mail.search(None, 'ALL')
email_ids = data[0].split()
# 遍历邮件
for email_id in email_ids:
result, data = mail.fetch(email_id, '(RFC822)')
raw_email = data[0][1]
email_message = email.message_from_bytes(raw_email)
# 检查是否有附件
if email_message.get_content_maintype() == 'multipart':
for part in email_message.walk():
if part.get_content_maintype() == 'multipart' or part.get('Content-Disposition') is None:
continue
filename = part.get_filename()
if filename:
# 保存附件
with open(filename, 'wb') as f:
f.write(part.get_payload(decode=True))
print(f'Saved attachment: {filename}')
else:
print('No attachment')
# 关闭连接
mail.logout()
这段代码首先连接到邮件服务器,然后搜索收件箱中的所有邮件。对于每封邮件,它会检查是否有附件。如果有附件,就遍历附件并保存到本地文件中。如果没有附件,则打印"No attachment"。
这是一个基本的示例,实际应用中可能需要根据具体需求进行适当的修改和错误处理。
推荐的腾讯云相关产品:腾讯企业邮,详情请参考腾讯企业邮产品介绍。
领取专属 10元无门槛券
手把手带您无忧上云