python下载邮件附件
时间: 2023-08-13 17:06:05 浏览: 153
python收附件
可以使用 Python 的内置库 `imaplib` 和 `email` 来实现下载邮件附件。
以下是一个示例代码,可以连接到指定的邮箱,下载指定邮件的附件:
```python
import imaplib
import email
from email.header import decode_header
# 邮箱信息
username = "你的邮箱地址"
password = "你的邮箱密码"
imap_server = "imap.邮箱域名"
# 连接到 IMAP 服务器
imap = imaplib.IMAP4_SSL(imap_server)
imap.login(username, password)
# 选择邮箱中的目标文件夹
imap.select("INBOX")
# 搜索邮件,返回邮件 ID 列表
status, messages = imap.search(None, "SUBJECT '邮件主题关键词'")
# 获取最新的邮件 ID
latest_email_id = messages[0].split()[-1]
# 获取邮件内容
status, message_parts = imap.fetch(latest_email_id, "(RFC822)")
# 解析邮件内容
message = email.message_from_bytes(message_parts[0][1])
if message.is_multipart():
for part in message.walk():
# 判断是否为附件
if part.get_content_disposition() is not None and "attachment" in part.get_content_disposition():
filename = decode_header(part.get_filename())[0][0]
if isinstance(filename, bytes):
# 将文件名转换为字符串
filename = filename.decode()
# 保存附件
with open(filename, "wb") as f:
f.write(part.get_payload(decode=True))
imap.close()
imap.logout()
```
其中,需要替换的部分为 `username`、`password` 和 `imap_server`,分别为自己邮箱的登录名、密码和 IMAP 服务器地址。另外,需要将邮件主题关键词修改为实际需要搜索的关键词。
阅读全文