python读取新邮件并保存成eml格式并保存到本地
时间: 2023-08-23 16:06:43 浏览: 176
Python-email下载器将邮件以eml文件格式备份到本地
可以使用Python的IMAP库来实现读取邮件,然后使用email库将邮件保存为eml格式并保存到本地。
以下是示例代码:
```python
import imaplib
import email
import os
# 邮箱信息
IMAP_SERVER = 'imap.example.com'
EMAIL_ACCOUNT = 'example@example.com'
EMAIL_PASSWORD = 'password'
MAILBOX = 'INBOX'
# 登录邮箱
mail = imaplib.IMAP4_SSL(IMAP_SERVER)
mail.login(EMAIL_ACCOUNT, EMAIL_PASSWORD)
mail.select(MAILBOX)
# 搜索未读邮件
typ, data = mail.search(None, 'UNSEEN')
# 遍历未读邮件
for num in data[0].split():
typ, data = mail.fetch(num, '(RFC822)')
raw_email = data[0][1]
email_message = email.message_from_bytes(raw_email)
# 保存eml文件
eml_filename = f'{email_message["Subject"]}.eml'
with open(eml_filename, 'wb') as f:
f.write(raw_email)
# 标记为已读
mail.store(num, '+FLAGS', '\\Seen')
# 关闭连接
mail.close()
mail.logout()
```
上述代码将遍历邮箱中所有未读邮件,并将其保存为eml文件并标记为已读。eml文件名将使用邮件主题来命名。你可以根据自己的需求修改代码。
阅读全文