이메일 시스템 #1] 기본 이메일 시스템의 원리와 이해
카테고리
인프라/DevOps/보안
서브카테고리
이메일 인프라
대상자
- *개발자 및 인프라 운영자**
- 난이도: 중급 (DNS 설정, 인증 프로토콜 이해 필요)
핵심 요약
- 이메일 시스템의 핵심 구성 요소: MUA, MSA, MTA, MDA 역할 분담
- 메일 전송 프로토콜: SMTP (전송), IMAP (동기화 기반 수신)
- DNS 인증 기술: SPF, DKIM, DMARC (도메인 인증, 스팸 방지)
섹션별 세부 요약
1. 이메일 시스템의 기본 구조
- 메일 흐름:
- MUA (사용자 인터페이스) → MSA (메일 수신) → MTA (서버 간 전송) → MDA (사서함 저장)
- 메일 서버 역할:
- MTA (Postfix, Exim 등)으로 메일 중계, MDA (Dovecot 등)으로 사서함 저장
- 메일 클라이언트: 사용자 컴퓨터/스마트폰에 설치된 MUA (Gmail, Outlook 등)
2. 메일 전송/수신 프로토콜
- SMTP:
- 클라이언트 → 서버: 메일 전송
- 서버 → 서버: 메일 중계
- POP3 vs IMAP:
- POP3: 메일 다운로드 후 서버에서 삭제 (오프라인 사용 유리)
- IMAP: 서버에 메일 보관, 다기기 동기화 지원 (현대 이메일 환경에서 주로 사용)
3. DNS의 핵심 역할
- MX 레코드: 수신 메일 서버 주소 지정
- TXT 레코드: SPF, DKIM, DMARC 인증 정보 제공
- DNS 구성 요소:
- Resolver: 클라이언트 요청 처리
- Name Server: 도메인 정보 제공
4. 이메일 인증 기술 (SPF, DKIM, DMARC)
- SPF:
- 역할: 발신자 도메인의 승인된 IP 검증
- 예시: v=spf1 ip4:203.0.113.5 include:_spf.google.com -all
- DKIM:
- 역할: 메일 내용 무결성 검증 (개인키/공개키 기반 서명)
- 예시: DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=selector1; ...
- DMARC:
- 역할: SPF/DKIM 실패 시 처리 정책 설정 (reject, quarantine 등)
- 예시: v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com;
결론
- AWS SES 등 대량 이메일 서비스 사용 시 SPF, DKIM, DMARC 인증 설정 필수
- DNS MX/TXT 레코드 정확 설정을 통해 스팸 필터 우회 및 전달 성공률 향상
- IMAP 사용 권장 (다기기 동기화 및 메일 상태 유지)