要在 Python 中仅提取电子邮件的标头信息,我们可以使用 `email` 库来解析电子邮件内容。下面是一个简单的示例代码,展示了如何从电子邮件文本中提取出主题和发件人。
首先,确保你的环境中已经安装了 `email` 库,如果没有安装,可以通过 pip 安装:
```bash
pip install email
```
接下来是代码示例:
```python
import email
def extract_email_headers(raw_email):
# 解析邮件内容
message = email.message_from_string(raw_email)
# 提取标头信息
subject = message['Subject'] # 主题
sender = message['From'] # 发件人
return {
'subject': subject,
'sender': sender,
}
# 示例电子邮件文本(请注意,这只是一个示例,实际邮件内容会更复杂)
raw_email = """
Subject: 项目报告提交截止日期提醒
From: John Doe <john.doe@example.com>
To: Jane Smith <jane.smith@example.com>
Date: 2024-02-28
"""
# 调用函数提取标头信息
headers = extract_email_headers(raw_email)
print("主题:", headers['subject'])
print("发件人:", headers['sender'])
```
在这个示例中,我们首先导入了 `email` 库的 `message_from_string` 函数。然后,我们定义了一个名为 `extract_email_headers` 的函数,它接受一个字符串参数(即电子邮件的原始文本)。在函数内部,我们使用 `email.message_from_string()` 解析这个字符串,得到一个 `Message` 对象。
接下来,我们通过调用 `message['Subject']` 和 `message['From']` 来提取邮件的主题和发件人信息。最后,我们返回一个包含这两个标头信息的字典。
请注意,在实际应用中,你可能需要处理更复杂的情况,比如从电子邮件地址中提取用户名、域名等详细信息,或者从多部分邮件中提取所有标头信息。上述示例仅展示了如何从基本的电子邮件文本中提取主题和发件人。