기술 · 출처 기반 답변
SMTP 엔벨로프와 헤더의 차이
SMTP 엔벨로프는 메일 서버가 메시지를 라우팅하는 데 사용하는 지시 정보이고, 헤더는 메시지 본문 안에 들어 있는 메타데이터입니다. 엔벨로프는 전달을 위한 실제 발신자와 수신자를 정의하고, 헤더는 최종 사용자의 이메일 클라이언트에 표시되는 정보를 제공합니다.
SMTP 엔벨로프
엔벨로프는 이메일의 전송 계층입니다. SMTP 세션 중에 실행되는 MAIL FROM과 RCPT TO 명령으로 구성됩니다. 이 명령은 수신 서버에 누가 메일을 보내는지, 어디로 전달해야 하는지 알려 줍니다. 엔벨로프는 메시지가 목적지 서버에 성공적으로 넘겨지면 제거되며 최종 수신자에게는 보이지 않습니다.
이메일 헤더
헤더는 SMTP 세션에서 DATA 명령에 포함됩니다. From, To, Subject, Date 필드 등이 여기에 해당합니다. 엔벨로프와 달리 헤더는 메시지와 함께 저장되고 이메일 클라이언트에 표시됩니다. 사용자는 From 헤더를 발신자로 보게 되는데, 이는 엔벨로프 발신자와 다를 수 있으며 트랜잭션 메일에서는 흔히 쓰이는 방식입니다.
이 구분이 중요한 이유
이 분리는 이메일 인증에서 매우 중요합니다. SPF는 From 헤더가 아니라 엔벨로프 발신자(Return-Path)를 검사합니다. DMARC는 스푸핑을 방지하기 위해 엔벨로프 발신자와 헤더 From 도메인 사이의 정렬을 요구합니다. 이 두 계층이 정렬되지 않으면 메시지가 스팸으로 분류되거나 인증 검사에 실패하는 경우가 많습니다.
운영 시 참고 사항과 흔한 실수
흔한 실수는 From 헤더를 바꾸면 반송 주소도 바뀐다고 생각하는 것입니다. 반송 메일은 엔벨로프 발신자로 전송됩니다. SendHQ 또는 무료 도구(https://sendhq.cc/tools)를 사용하는 개발자는 높은 전달성과 올바른 반송 처리를 유지하기 위해 Return-Path가 인증된 도메인과 일치하는지 확인해야 합니다.
구체적인 예시
뉴스레터의 경우 엔벨로프 발신자는 전송 실패를 처리하기 위해 bounces@marketing.com으로 두고, 헤더 From은 고객에게 전문적으로 보이도록 hello@company.com으로 설정할 수 있습니다. 서버는 엔벨로프를 기준으로 메일을 라우팅하지만 사용자에게는 헤더가 보입니다.
팀에서 자주 묻는 질문
SPF는 둘 중 어느 것을 검증하나요?
SPF는 엔벨로프 발신자, 즉 MAIL FROM 명령에 있는 도메인을 검증하며, 이는 수신된 헤더에서 보통 Return-Path로 나타납니다.
엔벨로프 발신자와 헤더 발신자가 달라도 되나요?
네, 달라도 됩니다. 엔벨로프에는 전용 반송 주소를 쓰고 헤더에는 브랜드 주소를 쓰는 것은 자동화된 시스템에서 표준적인 방식입니다.
수신자에게 SMTP 엔벨로프가 보이나요?
아니요. 수신자에게는 헤더만 보입니다. 엔벨로프는 메일 전송 에이전트가 라우팅에만 사용하며 전달 후에는 폐기됩니다.
1차 출처
- RFC 5321: 단순 메일 전송 프로토콜(SMTP) — RFC Editor
- RFC 5322: 인터넷 메시지 형식 — RFC Editor
- RFC 7489: 도메인 기반 메시지 인증, 보고 및 준수(DMARC) — RFC Editor