要解析邮件文件eml,可以使用Python的email库。以下是一个示例代码,可以提取邮件的内容和附件:

import os
import email
from email.header import decode_header
from email.utils import parseaddr

# 解析邮件文件
def parse_email(eml_file):
    with open(eml_file, 'rb') as f:
        msg = email.message_from_bytes(f.read())

    # 提取发件人、收件人、主题等信息
    from_addr = parseaddr(msg.get('From'))[1]
    to_addr = parseaddr(msg.get('To'))[1]
    subject = decode_header(msg.get('Subject'))[0][0]

    print(f'From: {from_addr}')
    print(f'To: {to_addr}')
    print(f'Subject: {subject}')

    # 提取邮件正文和附件
    for part in msg.walk():
        if part.get_content_type() == 'text/plain':
            content = part.get_payload(decode=True).decode()
            print(f'Content: {content}')
        elif part.get_content_type() == 'application/octet-stream':
            filename = decode_header(part.get_filename())[0][0]
            data = part.get_payload(decode=True)
            if data:
                # 保存附件到本地文件
                with open(filename, 'wb') as f:
                    f.write(data)
                print(f'Saved attachment: {filename}')

# 解析邮件文件
eml_file = 'example.eml'
parse_email(eml_file)

请将eml_file变量设置为你要解析的eml文件的路径。这段代码会打印出邮件的发件人、收件人、主题、正文,以及保存附件到本地文件

python 解析邮件文件eml提取邮件内容及附件

原文地址: https://www.cveoy.top/t/topic/hy6t 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录