
이 글에서 다룰 내용
Email 전송 과정에서 발생하는 지연 구조를 구간별로 정리하고, 각 구간에서 지연이 발생하는 원인을 함께 설명함
Store & Forward 메커니즘이 이러한 지연 구조와 어떻게 연결되는지 실제 동작 흐름을 기준으로 설명함
학습 목표
- Email 전송 지연이 발생하는 위치를 구간 기준으로 이해할 수 있음
- 지연이 발생하는 원인을 구조적으로 파악할 수 있음
- Store & Forward 메커니즘의 실제 동작 방식을 이해할 수 있음
- 상태 코드와 재시도 구조가 전송 흐름에 미치는 영향을 이해할 수 있음
Email 전송은 단계적으로 이루어지며, 각 단계 사이에서 지연이 발생할 수 있음. 메일은 하나의 경로로 즉시 전달되지 않고, 여러 서버를 거치며 이동함
지연은 특정 지점 하나에서 발생하는 것이 아니라, 전송 흐름 내 여러 구간에서 독립적으로 발생함. 따라서 문제를 분석할 때는 전체 흐름을 기준으로 지연 위치를 구분해야 함.
Email 전송 흐름은 다음과 같은 구간으로 나눌 수 있음
MUA → MSA)MSA → Outbound MTA)MTA → MTA)Inbound MTA)MDA → Mailbox)
제출 지연 큐 대기 지연 네트워크 지연 수신 처리 지연 배달 지연 네트워크 연결 문제
사용자 인증 지연
MSA 처리 지연MTA 큐 과부화
스팸/바이러스 검사
수신 서버 응답 대기인터넷 회선 문제
라우팅 지연
패킷 손실스팸 필터 및 정책 검사
보안 솔루션 처리
외부 서비스 연동메일박스 용량 문제
저장소/DB 지연
사용자 서버 처리 지연
SMTP는 상태 코드 기반으로 전송 상태를 판단함
지연은 주로 4xx 응답에서 발생하며, 메일은 큐에 저장된 상태로 재전송이 반복됨
2xx → 즉시 전달4xx → 일시적 실패 → 지연 후 재시도5xx → 영구적 실패 → 전달 중단Store & Forward는 Email 전송에서 사용하는 기본 전달 방식으로, 메일을 중간 서버에 저장한 뒤 다음 서버로 전달하는 구조
메일은 각 서버를 거치면서 다음과 같은 흐름으로 처리됨
메일은 수신 이후 즉시 전달되지 않고 Queue에 저장됨
Queue는 전송 대시 상태의 메일을 관리하며, 다음 조건에서 전송이 수행됨
전송 실패 시 메일은 삭제되지 않고 재전송이 수행됨
재시도는 일정 시간 간격으로 반복되며, 일정 횟수 또는 시간 초과 시 실패로 처리됨
재시도는 일정 시간 간격으로 반복되며, 일정 횟수 또는 시간 초과 시 실패로 처리됨
이 구조를 통해 Email은 일부 장애 상황에서도 전송을 유지할 수 있음
Email 전송은 단계적으로 이루어지며, 각 구간에서 독립적으로 지연이 발생할 수 있음. 지연은 전송 흐름의 일부이며, 특정 구간의 상태에 따라 전체 전달 시간이 결정됨.
SMTP는 이러한 지연을 즉시 실패로 처리하지 않고, Store & Forward 구조를 통해 메일 큐에 저장한 뒤 재시도를 수행함