AWS Lambda과 함께 메시지 콘텐츠 검색
Amazon WorkMail의 이메일 흐름을 관리할 AWS Lambda 기능을 구성한 후에는 Lambda를 사용하여 처리되는 이메일 메시지의 전체 콘텐츠에 액세스할 수 있습니다. Amazon WorkMail용 Lambda 시작하기에 대한 자세한 내용은 Amazon WorkMail에 맞게 AWS Lambda 구성 단원을 참조하세요.
이메일 메시지의 전체 콘텐츠에 액세스하려면 Amazon WorkMail Message Flow API에서 GetRawMessageContent 작업을 사용합니다. 호출 시 사용자의 Lambda 함수로 전달되는 이메일 메시지 ID가 API로 요청을 전송합니다. 그러면 API가 이메일 메시지의 전체 MIME 콘텐츠로 응답합니다. 자세한 내용은 Amazon WorkMail API 참조의 Amazon WorkMail 메시지 흐름을 참조하세요.
다음 예제는 Python 런타임 환경을 사용하는 Lambda 함수로 전체 메시지 콘텐츠를 검색하는 방법을 보여줍니다.
작은 정보
AWS Serverless Application Repository에서 사용자 계정으로 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 또는 EWS(Exchange Web Services)).