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

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

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

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

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

次の例では、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)

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

注記

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