本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 擷取訊息內容 AWS Lambda
設定 AWS Lambda 函數以管理 Amazon WorkMail 的電子郵件流程後,您可以存取使用 Lambda 處理之電子郵件訊息的完整內容。如需 Lambda for Amazon WorkMail 入門的詳細資訊,請參閱 AWS Lambda 為 Amazon WorkMail 設定。
若要存取電子郵件訊息的完整內容,請使用 Amazon WorkMail Message Flow API 中的 GetRawMessageContent
動作。呼叫時傳送到 Lambda 函數的電子郵件訊息 ID 會將請求傳送至 API。接著,API 會以電子郵件訊息的完整 MIME 內容來回應。如需詳細資訊,請參閱《Amazon WorkMail API 參考》中的 Amazon WorkMail 訊息流程。 Amazon WorkMail
下列範例顯示使用 Python 執行時間環境的 Lambda 函數如何擷取完整訊息內容。
提示
如果您從 將 Amazon WorkMail Hello World 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)
如需分析傳輸中訊息內容的更詳細範例,請參閱 GitHub 上的 amazon-workmail-lambda-templates
注意
您只能使用 Amazon WorkMail Message Flow API 存取傳輸中的電子郵件訊息。您只能在傳送或接收訊息的 24 小時內存取訊息。若要以程式設計方式存取使用者信箱中的訊息,請使用 Amazon WorkMail 支援的其他通訊協定,例如 IMAP 或 Exchange Web Services (EWS)。