1. SES > Configuration Set
SES에서 발송되는 메일은 항상 성공하지 않는다. 모종의 사유로 분명 실패할 수도 있다.
그러한 메일들을 트래킹하기 위해서는 SES에서 제공하는 Configuration Set을 사용하면 된다.
SES > 좌측 메뉴 Configuration > Configuration sets
우측 상단에 Create set 버튼 클릭
표시할 이름과 IP Pool은 디폴트로 설정해서 만들고 나면 상세화면으로 넘어가진다.
그러면 상단에 Event destinations 라는 탭이 있을거다 클릭 ㄱ
우측 상단 Add destination 클릭
해당 페이지에서 하는 작업은 우리가 SNS를 통해서 메일에 대한 어떤 웹훅을 보낼지에 대한 설정이다.
메일을 보내는것도 중요하지만 더 중요한건 어떠한 이유로 발송을 실패했는지 확인하는 것이기 때문에 여기서는 실패에 대한 값들만 추가해보자
- Rendering Failure: 해당 기능은 TemplatedMail을 발송할때만 사용이 가능하다. 메일템플릿에 내가 지정한 변수에 값이 없는 경우 발생한다.
- Rejects: SES가 메일에 바이러스가 있다고 판단하고 발송하지 않는다
- Hard Bounces: 수신자 메일서버에서 받기를 거절
- Complaints: 수신자가 수신거부
선택을 했으면 Next를 클릭한다
우리는 SNS를 통해서 메일을 발송할 예정이니 Type에서 SNS를 선택해준다.
Name은 아까 destination 목록화면에서 표기되는 이름이다. 쓰고싶은걸로 작성하면 된다.
참고로 기존에 SNS를 미리 만들어두었다면 SNS 타입이 Standard인지 확
인해줘야한다. Fifo형태는 지원되지 않는다.
SNS는 지금 과정에서 생성해줘도 된다.
Topic Name은 SNS의 이름이고 Display name은 메일을 발송할때 표시되는 제목이다.
SNS까지 완료했다면 Review에서 마무리하면 된다.
2. SNS
위 과정에서 끝이나면 너무 좋았겠지만 우린 아직 SNS에서 아무런 설정을 하지 않았다.
우선 누구한테 보낼지에 대한 설정을 하자.
SNS > Topic > 바로 위에서 설정한 Topic Name 클릭해서 상세로 이동
Create subscriptions 들어가서 이메일 옵션으로 생성을 해주면된다.
단 여기서 이메일을 구독하기 위해서는 반드시 SES에서 이미 인증된 계정이여야 한다. 그러지 않으면 오류가 발생한다.
구독까지 설정을 했으면 SNS Topic 상세페이지 상단에 있는 Edit을 누르고 Access Policy를 수정하자.
{
"Version": "2012-10-17",
"Id": "notification-policy",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ses.amazonaws.com"
},
"Action": "sns:Publish",
"Resource": "arn:aws:sns:<REGION_CODE>:<AWS_ACCOUNT_ID>:<SNS_TOPIC>",
"Condition": {
"StringEquals": {
"AWS:SourceAccount": "<AWS_ACCOUNT_ID>",
"AWS:SourceArn": "arn:aws:ses:<REGION_CODE>:<AWS_ACCOUNT_ID>:configuration-set/<SES_CONFIGURATION_NAME>"
}
}
}
]
}
여기까지 마무리 했으면 메일을 보낼때 header에다가 Ses Configuration Set 이름을 추가해주면된다.
예. 코틀린 사용시
val emailRequest = SendTemplatedEmailRequest()
.withConfigurationSetName(configurationSet)
.withTemplate(template)
.withDestination(Destination(to))
.withSource(from)
.withTemplateData(contentsString)
val response = AmazonSimpleEmailService.sendTemplatedEmail(emailRequest)
'[AWS] > [SES]' 카테고리의 다른 글
[AWS] SES 이메일 템플릿 파이썬으로 구현 (0) | 2025.02.06 |
---|