を使用したメッセージコンテンツの取得 AWS Lambda - Amazon WorkMail

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

を使用したメッセージコンテンツの取得 AWS Lambda

Amazon WorkMail の E メールフローを管理するように AWS Lambda 関数を設定したら、Lambda を使用して処理される E メールメッセージの完全なコンテンツにアクセスできます。Lambda for Amazon WorkMail の使用開始に関する詳細については、Amazon WorkMail AWS Lambda の の設定 を参照してください。

E メールメッセージのすべてのコンテンツにアクセスするには、Amazon WorkMail Message Flow API の GetRawMessageContentアクションを使用します。呼び出し時に Lambda 関数に渡される E メールメッセージ ID は、API にリクエストを送信します。これを受けて、API は E メールメッセージの完全な MIME コンテンツで応答します。詳細については、Amazon WorkMail API リファレンスAmazon WorkMail Message Flow を参照してください。

次の例では、Python ランタイム環境を使用する Lambda 関数が、メッセージコンテンツ全体を取得する方法を示します。

ヒント

Amazon WorkMail Hello World Lambda 関数を から AWS Serverless Application Repository アカウントにデプロイすることから始めると、システムは必要なすべてのリソースとアクセス許可を持つ 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)

転送中のメッセージのコンテンツを分析する方法の詳細な例については、GitHub の amazon-workmail-lambda-templates リポジトリを参照してください。

注記

Amazon WorkMail Message Flow API は、送信中の E メールメッセージにアクセスする場合のみ使用します。メッセージは、送受信されてから 24 時間以内にのみアクセス可能です。ユーザーのメールボックスのメッセージにプログラムを使ってアクセスするには、IMAP や Exchange Web Services (EWS) など、Amazon WorkMail でサポートされている他のプロトコルの 1 つを使用します。