python 读取.eml文件
时间: 2023-11-22 15:49:36 浏览: 227
python 读xml文件
以下是使用Python读取.eml文件的示例代码:
```python
import email
# 读取.eml文件
with open('example.eml', 'rb') as f:
msg = email.message_from_binary_file(f)
# 获取邮件主题
subject = msg['subject']
# 获取发件人
from_addr = msg['from']
# 获取收件人
to_addr = msg['to']
# 获取邮件正文
Html = ''
Text = ''
for part in msg.walk():
# 获取邮件内容类型
content_type = part.get_content_type()
# 获取邮件编码方式
charset = part.get_charset()
# 如果是文本类型的附件
if content_type == 'text/plain':
Text += part.get_payload(decode=True).decode(charset)
# 如果是HTML类型的附件
elif content_type == 'text/html':
Html += part.get_payload(decode=True).decode(charset)
# 打印邮件信息
print('Subject:', subject)
print('From:', from_addr)
print('To:', to_addr)
print('Text:', Text)
print('Html:', Html)
```
以上代码使用Python标准库中的email模块读取.eml文件,并获取邮件的主题、发件人、收件人、文本内容和HTML内容。其中,使用了email.message_from_binary_file()函数读取.eml文件,使用了email.message.Message类获取邮件信息,使用了email.message.Message.walk()方法遍历邮件附件。
阅读全文