Amazon SES를 사용하여 인바운드 이메일을 수신한 다음 해당 이메일을 Amazon S3에 저장하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 6월 11일

Amazon Simple Email Service(Amazon SES)를 사용하여 인바운드 이메일을 수신하고 싶습니다. 또한 보관 또는 추가 처리를 위해 이러한 이메일을 저장하려고 합니다. 어떻게 해야 합니까? 

간략한 설명

다음 단계에 따라 Amazon SES가 인바운드 이메일을 수신한 다음 해당 이메일을 저장하도록 설정합니다.

1.    Amazon SES로 이메일 도메인을 확인합니다.

2.    Amazon SES의 이메일을 저장할 권한이 있는 Amazon Simple Storage Service(Amazon S3)버킷을 설정합니다.

3.    인바운드 이메일을 S3 버킷으로 전송하는 Amazon SES 수신 규칙을 생성합니다.

4.    Amazon SES 규칙을 테스트합니다.

해결 방법

Amazon SES로 이메일 도메인 확인

이메일 수신에 사용할 도메인을 확인해야 합니다.

Amazon SES의 이메일을 저장할 권한이 있는 Amazon S3 버킷 설정

1.    Amazon S3 버킷을 생성하십시오.

2.    버킷을 생성한 후 Amazon S3 콘솔의 버킷 목록에서 이름을 선택합니다.

3.    [권한] 탭을 선택합니다.

4.    버킷 정책을 선택합니다.

5.    [Bucket policy editor]에서 다음 정책을 입력합니다.

참고: AWSDOC-EXAMPLE-BUCKET을 버킷의 이름으로 바꿉니다. 그런 다음 111122223333을 AWS 계정 ID로 바꿉니다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowSESPuts",
            "Effect": "Allow",
            "Principal": {
                "Service": "ses.amazonaws.com"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET/*",
            "Condition": {
                "StringEquals": {
                    "aws:Referer": "111122223333"
                }
            }
        }
    ]
}

참고: 이 정책에 대한 자세한 내용은 Amazon S3 버킷에 쓸 수 있는 Amazon SES 권한 부여를 참조하십시오.

6.    [Save]를 선택하십시오.

인바운드 이메일을 S3 버킷으로 전송하는 Amazon SES 수신 규칙 생성

1.    Amazon SES 콘솔을 엽니다.

2.    탐색 창의 [Email Receiving]에서 [Rule Sets]를 선택합니다.

3.    기존 활성 규칙 세트에 규칙을 추가하려면 4단계로 건너뜁니다. 새 규칙 세트를 생성하려면 [Create a Rule Set]를 선택하고 규칙 세트 이름을 입력한 다음 [Create a Rule Set]를 선택합니다.

참고: 새 규칙 세트를 생성하는 경우 규칙 세트를 선택한 다음 [Set as Active Rule Set]를 선택해야 합니다. 언제든 수신 규칙 세트 중 하나만 활성 규칙 세트가 될 수 있습니다.  

4.    [View Active Rule Set]를 선택합니다.

5.    [Create Rule]을 선택합니다.

참고: 다음 단계에서 설명한 것과 동일한 값으로 기존 규칙을 업데이트하도록 선택할 수도 있습니다.

6.    확인된 도메인의 특정 이메일 주소로만 전송된 이메일을 저장하려면 [Recipients]에서 해당 이메일 주소를 수신자로 입력합니다. 모든 확인된 도메인으로 전송된 모든 이메일을 저장하려면 수신자를 입력하지 말고 [Next Step ]을 선택합니다.

7.    [Actions]의 [Add action]에서 [S3]를 선택합니다. 그리고 다음 필드를 작성합니다.
[S3 bucket]에서 이메일을 저장하기 위해 생성한 버킷을 선택합니다.
(선택 사항) 객체 키 접두사에 이메일을 저장할 S3 접두사를 입력할 수 있습니다. 이 필드를 비워두면 이메일이 버킷의 루트에 저장됩니다.
(선택 사항) Amazon SES에서 AWS Key Management Service(AWS KMS) 키를 사용하여 이메일을 암호화하도록 하려면 [Encrypt Message]에서 확인란을 선택하십시오.
참고: 기본 마스터 키(aws/ses) 외에 다른 키를 사용하려면 Amazon SES에 AWS KMS 키를 사용하기 위한 권한을 부여해야 합니다. Amazon SES는 이메일을 저장하기 위해 S3 버킷에 보내기 전에 Amazon S3 암호화 클라이언트를 사용하여 이메일을 암호화합니다. 이메일은 Amazon S3 서버 측 암호화를 사용하여 암호화되지 않습니다.
(선택 사항) 이메일이 S3 버킷으로 전송되었을 때 알림을 보내려면 SNS topic에서 Amazon Simple Notification Service(Amazon SNS) 주제를 선택합니다.

8.    [Next Step]을 선택하십시오.

9.    [Rule Details]에서 다음 필드를 작성합니다.
[Rule name]에 규칙 이름을 입력합니다.
[Enabled]에서 규칙이 활성 규칙으로 생성되도록 이 확인란을 선택해야 합니다.
(선택 사항) 사용 사례에 따라 필요한 경우 [Require TLS] 또는 [Enable spam and virus scanning]을 선택합니다.
[Rule set]에서 활성 규칙 세트가 선택되어 있는지 확인합니다. 활성 규칙 세트에는 이름에 (Active)가 포함됩니다.
[Insert after rule]에서 규칙 세트 내에서 규칙의 원하는 위치를 선택합니다.

10.    [Next Step]을 선택하십시오.

11.    [Create Rule]을 선택합니다.

Amazon SES 규칙 테스트

1.    Amazon SES 콘솔의 탐색 창에서 [Domains]를 선택합니다.

2.    확인된 도메인을 선택합니다.

3.    [Send a Test Email]을 선택합니다. 그리고 다음 필드를 작성합니다.
[From]에 테스트 이메일을 전송할 이메일 주소를 입력합니다.
[To]에 테스트하려는 도메인의 이메일 주소를 입력합니다.
[Subject] 및 [Body]에 이메일 텍스트 예제를 입력합니다.

4.    [Send Test Email]을 선택합니다.

5.    몇 분 후 Amazon S3 콘솔을 엽니다.

6.    Amazon SES 이메일을 저장하도록 구성한 버킷을 엽니다.

7.    버킷에 전송한 테스트 이메일이 포함되어 있는지 확인합니다.