
📨 메일
구성 요소
항목 | 설명 |
---|
송신자 | 메일을 보내는 사람의 메일 주소 |
수신자 | 메일을 받는 사람의 메일 주소 |
제목 | 메일 제목으로, 메일 목록을 표시할 때 주로 이용 |
본문 | 메일본문 |
첨부파일 | 이미지 파일이나 워드 파일 등 메일에 첨부된 파일 |
전송 시스템

1
: 앨리스가 자신이 속한 메일 서버에 밥을 수신자로 한 메일 송신을 요청
2
: 수신지인 밥의 메일 서버를 검색 후 해당 메일 서버에 메일 전송
3
: 도착한 메일은 수신지 메일 서버의 밥 메일함에 저장
4
: 밥이 자신의 메일함 확인
메일 프로토콜
사양 | 프로토콜 |
---|
메일송신 | SMTP(Simple Mail Transfer Protocol) |
메일수신 | POP3(Post Office Protocol Version 3) IMAP4(Internet Message Access Protocol Version4) |
- SMTP : 송신한 메일이 수신자의 메일함에 도착하기까지의 과정을 담당 (
1
~3
)
- POP3, IMPAP4: : 수신자가 메일함에 있는 메일을 읽는 부분을 담당
POP3와 IMAP4비교
가장 큰 차이점은 도작한 메일이 저장되는 위치이다.
- POP3 : 사용자의 기기로 이메일을 다운로드하여 읽는 프로토콜
- 메일 소프트웨어에 따라 메일함 안의 메일을 로컬 컴퓨터에 내려받는다.
- 한번 내려받은 뒤에는 네트워크에 연결되지 않은 상태에서도 메일을 읽을 수 있다
- 하지만 다른 컴퓨터에서는 읽을 수 없다.
- IMAP4 : 서버에서 이메일을 읽는 프로토콜
- 브라우저 등을 이용해 직접 메일함의 메일을 읽는다.
- 인터넷에 연결되어 있기만 하면 어떤 컴퓨터에서나 메일을 읽을 수 있다
- 인터넷이 연결되지 않으면 읽을 수 없다.
- POP3는 로컬 컴퓨터의 하드 디스크에 여유가 있는 한 계속 저장할 수 있지만, IMAP4는 메일함의 상한선 용량까지만 저장할 수 있어 주의가 필요했다.
☁️ SES
- AWS에서 메일 송수신 기능을 제공하는 매니지드 서비스 (SES)Simple Email Service
- 당연히 애플리케이션에서 메일을 송수신하는데 활용하기 좋은 기능이다.
메일 송신
과거의 메일 송신
- 과거의 메일 서버에서는 우선 조직에 소속된 많은 사용자를 메일 서버에 등록한다.
- 해당 사용자가 메일 서버에 SMTP로 접속해 메일을 송신한다.
SES의 메일 송신
- 송신할 때 사용하는 특별한 계정을 만든다.
- IAM 사용자로 등록하고 해당 IAM 사용자를 이용해 메일을 송신한다.
이때 IAM 사용자를 이용한 SES연결시 인증방법 2가지
- SES API
- 직접 SES와 데이터를 주고받는 방법
- 프로그램 언어용 SDK와 AWS 커맨드라인 인터페이스를 이용해 메일을 송신할 수 있다.
- SES API SMTP 인터페이스
메일 수신
-
SES에서는 POP3, IMAP4와 같은 프로토콜을 제공하지 않는다.
-
대신 메일을 수신 했을 때 Action
(액션) 이라 불리는 처리를 실행한다.
-
이 액션을 이용해 애플리케이션에서 제공하는 커스텀API를 실행할 수 있으므로 사용자로부터 도착한 메일을 실시간으로 처리할 수 있다.

수신시 액션 목록
액션 | 설명 |
---|
S3 액션 | 도착한 메일을 S3에 저장 |
SNS 액션 | 도착한 메일을 Amazon SNS 토픽에 공개 |
Lambda 액션 | Lambda 함수를 실행 |
Bounce 액션 | 송신자에게 바운스 응답을 반환 |
Stop 액션 | 도착한 메일을 무시 |
- SNS액션을 등록해두면 고객으로부터 송신때 사용한 메일서버로 메일이 받았을 때 관리자에게 메일이나 휴대전화의 푸시 알림을 보낼 수 있거나 Lambda 액션을 등록해두면 애플리케이션의 커스텀 API를 호출할 수 있다.
- 하지만, SES에서는 POP3,IMAP4와 같은 수신 프로토콜을 제공하지 않기 때문에, 관리자가 메일을 수동으로 대응할 수 없다.
- 그래서 액션기능을 활용해 소위
고객 관리 시스템(CRM)
과 연동해 사용한다.
SES를 생성하는 리전
SES를 생성하는 리전에 주의해야한다.
- 서울 리전에서는 2020년 7월부터 SES를 이용할 수 있게 되었으나, 2022년 3월 기준 현재 송신 기능만 이용할 수 있다.
- 보통 미국 동부(버지니아 북부)리전은 왠만한 기능을 다 이용할 수 있다.
샌드박스
-
외부에 영향을 주지 않도록 격리된 환경을 말한다.
-
SES를 생성한 초기시점에 악용을 방지하기 위해 샌드박스 내부에 위치하는데, 제약이 있다.
- 메일 송신 대상지는 검증된 주소로만 한정된다.
- 메일 송신지는 검증된 주소 또는 등록한 도메인으로만 한정된다.
- 송수신할 수 있는 메일 건수가 200건/24시간 또는 1건/1초로 제한된다.
-
위 제약조건을 해제하고 샌드박스 외부로 SES를 이동하려면 AWS 지원센터로 요청해야된다.
✂️ 실습
좋은 글 감사합니다.