使用检索消息内容 AWS Lambda - 亚马逊 WorkMail

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用检索消息内容 AWS Lambda

配置用于管理 Amazon 电子邮件流的 AWS Lambda 函数后 WorkMail,您可以访问使用 Lambda 处理的电子邮件的全部内容。有关开始使用亚马逊版 Lambda 的更多信息 WorkMail,请参阅。为 Amazon AWS Lambda 进行配置 WorkMail

要访问电子邮件的全部内容,请使用 Amazon WorkMail 消息流中的GetRawMessageContent操作API。在调用时传递给您的 Lambda 函数的电子邮件 ID 会将请求发送到。API然后,使用电子邮件的全部MIME内容进行API回复。有关更多信息,请参阅《亚马逊 WorkMail API参考》中的 “亚马逊 WorkMail 消息流”。

以下示例显示了使用 Python 运行时环境的 Lambda 函数如何检索完整的邮件内容。

提示

如果您首先从 AWS Serverless Application Repository 向您的账户部署 Amazon WorkMail Hello World Lambda 函数,则系统会在您的账户中创建一个具有所有必要资源和权限的 Lambda 函数。然后,您可以根据使用案例将业务逻辑添加到 lambda 函数。

import boto3 import email import os def email_handler(event, context): workmail = boto3.client('workmailmessageflow', region_name=os.environ["AWS_REGION"]) msg_id = event['messageId'] raw_msg = workmail.get_raw_message_content(messageId=msg_id) parsed_msg = email.message_from_bytes(raw_msg['messageContent'].read()) print(parsed_msg)

有关分析传输中邮件内容的方法的更多详细示例,请参阅上的amazon-workmail-lambda-templates存储库 GitHub。

注意

您只能使用 Amazon WorkMail 消息流API来访问传输中的电子邮件。您只能在邮件发送或接收后 24 小时内访问。要以编程方式访问用户邮箱中的邮件,请使用亚马逊支持的其他协议之一 WorkMail,例如IMAP或 Exchange Web Services (EWS)。