AWS의 SES서비스를 이용해 메일을 발송해 보자
발송법 3가지를 알아보자
<1> SES 웹콘솔에서 메일 보내기
<2> Outlook에서 메일 보내기
<3> SDK를 이용해 서버에서 보내기
<4> 참고. SES에서 DEDICATE IP 할당의 의미는 고정 SMTP IP 가 아니다.
<1> SES 웹콘솔에서 메일 보내기
도메인을 인증 받기와 제한 증가 요청하기 2가지를 하면 메일 발송이 가능하다.(필수)
2가지를 필수로 해야한다.
1. 웹콘솔에서 보내기
1) 도메인 인증받기 (필수)
2) 제한 증가 요청 하기 (필수)
제한 증가 요청시 해당 지역을 지정해 신청하게 되어 있다.
3곳이 있다.
US East (N.Verginia) , US West(Oregon) , EU (Ireland)
이곳 중 사용하는 1곳을 지정해 신청한다.
완료되었다고 메일 온후 테스트하자.
24시간후 회신 메일이 온다.
3) 테스트하기
4) 참고
같은 AWS 계정으로 같은 지역 SES 에서 도메인 확인(Verify) 하면 같은 TXT, CNAME 값을 받는다.
SES > Domains 에서 도메인을 삭제하더라도 다시 생성하면 같은 TXT,CNAME이 받아진다.
한 번 설정했다면 DNS에 추가로 설정할 필요가 없다는 것이다.
2. 웹콘솔 Email Addresses에서 메일 보내기
1) Email Addresses > Verify a New Email Address > 메일 입력하면 아래처럼 해당 메일로 확인 요청이 간다.
메일 수신이 가능한 메일에서 보낼수 있다.
메일 인증을 받아야 한다.
해당 메일 계정에서 아래 메일이 온다. 메일의 아래 링크를 클릭해 확인하면 된다.
2) Sending Statistics에서 Request a Sending Limit increase 클릭해서 신청한다. (필수)
링크 바로 가기
Service Limite Increase 에서 SES Sending Limits 를 신청해 승인을 받아야 한다.(필수)
<2> Outlook에서 메일 보내기
필요작업
도메인을 인증 받기와 제한 증가 요청하기 2가지 완료 필요 (필수)
추가 작업으로 메일 계정 생성과 아웃룩 설정이 필요하다.
1. 메일 계정 생성
SES > SMTP Settins > Create My SMTP Credntials > ses-smtp- 형태의 계정이 생긴다.
SMTP username 과 SMTP Password 를 기록해 놓자. Outlook설정시 들어가는 계정과 암호이다.
2. Outlook설정하기.
1) 보내는 메일서버를 설정한다.
SES 서비스의 오래곤의 경우 email-smtp.us-west-2 형태이다.
2) 기타 계정설정에서 보내는 메일서버를 설정한다.
앞에서 만든 메일 계정과 암호을 입력한다.
3) 고급에서 보내는 메일서버(SMTP) 를 설정한다.
보내는 메일서버(SMTP)(o) : 587
암호화된 다음 연결 방식은 : TLS 설정한다.
<3> SDK를 이용해 서버에서 보내기
1. SDK를 통해 메일을 보내려면, AWS SES시스템에 시크릿키가 필요하다.
1) 전송용 IAM 계정을 만들어야 한다.
SES서비스 > SMTP Settings > Create My SMTP Credentials 클릭하면
메일 계정이 생성 된다.
IAM User Name : ses-smtp-user2
User SMTP Security Credentials - Download Credentials 한다.
2) AWSAccessKey 와 AWSSecretKey를 만들어야 한다.
3) ses-smtp-user2 계정에 정책할당한다.
SESFullaccess권한을 할당한다.
IAM > Policies > ses 로 검색하여 클릭
계정에 정책을 할당한다.
기타
다음과 같이 발송만 가능하도록 제한된 권한을 주기를 권장한다.
AmazoneSesSendingAccess
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ses:SendRawEmail",
"Resource": "*"
}
]
}
2. EC2서버를 1대 설치하고 SDK를 설치한다.
EC2 서버 1대 만들기
AWS SDK for Python (Boto)를 사용하여 이메일 전송
별첨1. 전체 가이드
Amazon SES 전송 권한 부여 정책 예제
<4> 참고. SES에서 DEDICATE IP 할당의 의미는 고정 SMTP IP 가 아니다.
특별한 경우가 아니라면 할당 받을 필요는 없다.
1) DEDICATE IP 가 SMTP IP가 아니다.
DEDICATE IP 할당의 의미는 SES가 고정IP로 발송하는것을 ISP가 확인하는 의미이다.
ISP에서 볼떄 특정 IP에서 메일이 발송되는것을 확인하는 용도이다.
DEDICATE로 받은 IP를 SMTP로 입력해도 메일 발송이 안된다.
2) SES서비스에서 메일 발송의 지역에 따라 다르며, 오리곤은 아래를 SMTP로 설정해 사용한다.
email-smtp.us-west-2.amazonaws.com
SMTP설정해서 계정 설정 테스트를 하면 보내는 부분은 성공한다. - 오류가 안난다.
POP3는 따로 설정하지 않았음으로 오류가 나는건 정상이다.
감사합니다.