20일 차: AWS Lambda와 Python 및 SES를 사용한 HTML 이메일 전송
발행: (2026년 1월 17일 오전 01:00 GMT+9)
2 min read
원문: Dev.to
Source: Dev.to
일반 텍스트를 넘어서
Day 20에 오신 것을 환영합니다. SNS는 SMS나 내부 알림에 좋지만, 사용자에게 보내는 이메일은 HTML이 필요합니다. 여기서 Amazon SES가 등장합니다.
사전 준비 사항
- SES 콘솔(Identities)에서 이메일을 인증하세요.
- Lambda IAM 역할에
ses:SendEmail권한을 추가하세요.
코드 (Python)
SNS가 단순히 문자열을 받는 것과 달리, SES는 MIME 타입을 위한 딕셔너리 구조를 기대합니다.
client.send_email(
Source='me@example.com',
Destination={'ToAddresses': ['me@example.com']},
Message={
'Subject': {'Data': 'My Subject'},
'Body': {
'Html': {'Data': '''
## Hello World
'''}, # HTML part
'Text': {'Data': 'Hello World'} # Plain‑text fallback
}
}
)
전문가 팁
이메일 템플릿에는 인라인 CSS를 사용하세요. Gmail과 Outlook은 외부 스타일시트를 자주 제거합니다.
