给我写一个Python语言的邮件解析程序
时间: 2024-10-17 08:14:31 浏览: 21
编写一个简单的Python邮件解析程序,我们可以利用内置的`email`库来读取、解析和提取邮件信息。以下是一个基本的例子,展示如何打开一个电子邮件文件,并打印出发件人、收件人、主题以及邮件正文:
```python
import email
from email.header import decode_header
# 指定一个电子邮件文件作为示例,例如.eml文件
with open('example.eml', 'rb') as f:
msg = email.message_from_file(f)
# 解析邮件头信息
def parse_email_headers(headers):
for name, value in headers.items():
decoded_value = decode_header(value)[0][0].decode()
print(f"{name}: {decoded_value}")
# 提取邮件基本信息
parse_email_headers(msg['From'])
parse_email_headers(msg['To'])
print("Subject:", msg['Subject'])
# 如果邮件有文本内容,则获取正文
if msg.is_multipart():
for part in msg.walk():
content_type = part.get_content_type()
if content_type == 'text/plain':
print("\nText Body:\n", part.get_payload().strip())
else:
print("\nText Body (if any):\n", msg.get_payload())
阅读全文