在 Amazon SES 中检索已发送电子邮件的元数据并保存为 MSG 以用于审计目的

问题描述 投票:0回答:1

我正在开发一个 AWS SES 项目,在该项目中,我需要跟踪已发送电子邮件的元数据、内容和附件以进行审计。具体来说,我想检索已使用 SES 发送的电子邮件的数据并将其保存为 .msg 或 .eml 格式。

场景如下:

电子邮件通过 SES 发送。 我想检索已发送的特定电子邮件的元数据(标头、主题、收件人等)。 将此元数据保存在 .msg 文件中以供审核。 我知道 SES 不提供对检索 .msg 格式发送的电子邮件元数据的直接支持。但是,我正在寻找有关最佳实践或替代方法的指导来实现这一目标。

是否有推荐的方法来检索已通过 SES 发送的电子邮件的数据(例如标题、主题和收件人)?此外,如何将此元数据转换为 .msg 格式以用于存档和审计目的?

任何代码片段、库或架构建议都将受到高度赞赏。谢谢!

amazon-web-services amazon-ses amazon-simple-email-service
1个回答
0
投票

在 AWS SES 项目中,您旨在以 .msg 或 .eml 格式检索和保存已发送电子邮件的元数据以用于审核目的,您可以考虑以下方法:

1。 SES 配置集事件目的地:

利用 SES Configset 事件目标捕获有关已发送电子邮件的元数据。 虽然 SES 不直接支持以 .msg 或 .eml 格式保存,但您可以以结构化方式(例如 JSON)将元数据存储在 S3 存储桶或数据库中。

2。 AWS Lambda 集成:

利用AWS Lambda处理SES事件并提取相关元数据。 使用 Python 中的 email.message 等库将提取的元数据转换为所需的 .msg 格式。 这是 Python 中的一个简单示例:

import email.message
import json

def process_ses_event(event, context):
    # Extract metadata from SES event
    message_id = event['Records'][0]['ses']['mail']['messageId']
    subject = event['Records'][0]['ses']['mail']['commonHeaders']['subject']
    recipients = event['Records'][0]['ses']['receipt']['recipients']

    # Create an EmailMessage object
    msg = email.message.EmailMessage()
    msg['Message-ID'] = message_id
    msg['Subject'] = subject
    msg['To'] = ', '.join(recipients)

    # Convert metadata to .msg format
    msg_data = msg.as_bytes()

    # Save .msg file to S3 or local storage
    # Add your storage logic here

    print("Metadata saved successfully.")

根据您的需求自定义此 Lambda 函数。

请记住设置 SES 事件目标以触发 Lambda 函数。

档案存储: 根据您的需求决定存储解决方案(S3、数据库等)。 实施逻辑来组织和存储元数据,确保其符合您的审核要求。 请记住,提供的示例是一个基本说明。根据您的具体用例和语言偏好进行调整。

其他资源: AWS SES Configset 事件目标

您可以随意调整和扩展此解决方案以满足您的项目要求。祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.