# AWS SES 완벽 설정 완료 - anvil.it.com ## 🎉 설정 완료 상태 **Mail-Tester 점수: 10/10 (만점)** ✅ 설정 완료일: 2025-09-06 도메인: anvil.it.com 리전: ap-northeast-2 (Seoul) ## 📧 SMTP 설정 정보 ```yaml SMTP_HOST: email-smtp.ap-northeast-2.amazonaws.com SMTP_PORT: 587 SMTP_TLS: true SMTP_USERNAME: [Vault: secret/aws/ses/smtp -> smtp_username] SMTP_PASSWORD: [Vault: secret/aws/ses/smtp -> smtp_password] SMTP_FROM: noreply@anvil.it.com ``` ### Vault에서 인증 정보 조회 ```bash # 전체 설정 조회 vault kv get secret/aws/ses/smtp # SMTP Password만 조회 vault kv get -field=smtp_password secret/aws/ses/smtp ``` ## 🔐 DNS 레코드 설정 ### 1. SPF 레코드 (TXT) ``` anvil.it.com TXT "v=spf1 include:_spf.mx.cloudflare.net include:amazonses.com ~all" ``` ### 2. DKIM 레코드 (CNAME × 3) ``` dgcehnldehfmfgpvrrbc6drwasiibhnp._domainkey.anvil.it.com CNAME dgcehnldehfmfgpvrrbc6drwasiibhnp.dkim.amazonses.com spopdscdt2sxngqzl5ir66k3ed6og7ut._domainkey.anvil.it.com CNAME spopdscdt2sxngqzl5ir66k3ed6og7ut.dkim.amazonses.com 55l5wnmktvacgyfpt6sovcgb2rqexrpy._domainkey.anvil.it.com CNAME 55l5wnmktvacgyfpt6sovcgb2rqexrpy.dkim.amazonses.com ``` ### 3. DMARC 레코드 (TXT) ``` _dmarc.anvil.it.com TXT "v=DMARC1;p=quarantine;pct=25;rua=mailto:908761dcafa547a981e283a21768d69f@dmarc-reports.cloudflare.net,mailto:dmarc-reports@anvil.it.com;ruf=mailto:dmarc-failures@anvil.it.com" ``` ### 4. MAIL FROM 도메인 설정 ``` # MX 레코드 bounce.anvil.it.com MX 10 feedback-smtp.ap-northeast-2.amazonses.com # SPF 레코드 bounce.anvil.it.com TXT "v=spf1 include:amazonses.com ~all" ``` ### 5. 도메인 검증 (TXT) ``` _amazonses.anvil.it.com TXT "0cuw9v32N+aeFiNlTh2Poxglgzf3BlmFRjVOjeLEdy4=" ``` ## ✅ AWS SES 상태 ### 도메인 검증 - **Status**: Success ✅ - **DKIM**: Success & Enabled ✅ - **MAIL FROM**: bounce.anvil.it.com (Success) ✅ ### 발송 한도 - **일일 최대**: 50,000통 - **초당 최대**: 14통 - **현재 환경**: Production Ready ## 🎯 컴플라이언스 달성 상태 | 요구사항 | 상태 | 점수 | |---------|------|------| | SPF Authentication | ✅ Compliant | Pass | | DKIM Authentication | ✅ Compliant | Pass | | DMARC Authentication | ✅ Quarantine (25%) | Pass | | From Header Alignment | ✅ Compliant | Pass | | DNS Records | ✅ Compliant | Pass | | Encryption | ✅ TLS Required | Pass | | One-click Unsubscribe | ✅ RFC 8058 | Pass | | Honor Unsubscribe | ✅ Compliant | Pass | **최종 점수: 8/8 (완전 준수)** 🏆 ## 📱 애플리케이션 통합 예시 ### Node.js (nodemailer) ```javascript const nodemailer = require('nodemailer'); const transporter = nodemailer.createTransporter({ host: 'email-smtp.ap-northeast-2.amazonaws.com', port: 587, secure: false, auth: { user: process.env.SMTP_USERNAME, // SMTP Username pass: process.env.SMTP_PASSWORD // SMTP Password (변환된 값) } }); // RFC 8058 호환 메일 발송 const mailOptions = { from: 'noreply@anvil.it.com', to: 'user@example.com', subject: 'Welcome!', html: '

Welcome!

', headers: { 'List-Unsubscribe': ', ', 'List-Unsubscribe-Post': 'List-Unsubscribe=One-Click' } }; ``` ### Python (smtplib) ```python import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText msg = MIMEMultipart() msg['From'] = 'noreply@anvil.it.com' msg['To'] = 'user@example.com' msg['Subject'] = 'Welcome!' msg['List-Unsubscribe'] = ', ' msg['List-Unsubscribe-Post'] = 'List-Unsubscribe=One-Click' server = smtplib.SMTP('email-smtp.ap-northeast-2.amazonaws.com', 587) server.starttls() server.login(smtp_username, smtp_password) server.send_message(msg) server.quit() ``` ## 🚀 성과 요약 1. **완벽한 인증 체계**: SPF, DKIM, DMARC 모두 통과 2. **최고 수준 컴플라이언스**: RFC 8058 One-click Unsubscribe 구현 3. **Gmail 최적화**: Postmaster Tools 준비 완료 4. **확장 가능한 구조**: 일일 50K 발송 지원 5. **보안 강화**: 단계적 DMARC 정책 (quarantine 25%) ## 📊 모니터링 및 관리 ### Gmail Postmaster Tools - URL: https://postmaster.google.com - 도메인 등록: anvil.it.com - 데이터 확인: 1-2일 후부터 ### DMARC 리포트 - **집계 리포트**: dmarc-reports@anvil.it.com - **실패 리포트**: dmarc-failures@anvil.it.com - **Cloudflare**: 자동 대시보드 제공 ### AWS SES 모니터링 ```bash # 발송 통계 aws ses get-send-statistics --region ap-northeast-2 # 발송 한도 확인 aws ses get-send-quota --region ap-northeast-2 ``` ## 🔄 향후 개선 계획 ### 1단계 (완료): 기본 설정 - ✅ 도메인 검증 - ✅ DKIM 활성화 - ✅ SPF 설정 - ✅ DMARC 모니터링 ### 2단계 (완료): 컴플라이언스 - ✅ DMARC quarantine (25%) - ✅ One-click Unsubscribe - ✅ RFC 8058 준수 ### 3단계 (2주 후): 정책 강화 - DMARC: p=quarantine;pct=100 - 평판 안정화 후 p=reject 고려 - Gmail Postmaster 데이터 분석 ### 4단계 (1개월 후): 고도화 - 발송량 점진적 증가 (Warm-up) - A/B 테스트 기반 최적화 - 고급 모니터링 구축 --- **🎯 결과: anvil.it.com 메일 시스템은 업계 최고 수준으로 설정되었습니다!** Mail-Tester 10/10 점수는 모든 주요 메일 서비스에서 anvil.it.com을 신뢰할 수 있는 발신자로 인식한다는 의미입니다.