이메일 전달은 도메인을 소유했을 때 가장 먼저 설정하는 기능 중 하나일 것입니다. 그리고 아무런 신호 없이 가장 먼저 작동을 멈추는 기능이기도 합니다.
겉보기에는 간단합니다. info@yourdomain.com으로 보낸 메일을 받아 @gmail.com 계정으로 전달하면 됩니다. 하지만 실제 전달은 현대 인터넷의 핵심 신뢰 모델인 SPF, DKIM, DMARC와 직접 충돌하는 중간자 작업입니다. 잘못 설정해도 눈에 띄는 오류와 함께 반송되지 않습니다. 메일이 그저 사라집니다.
창업자에게 전달 장애는 투자자의 이메일을 놓치는 일입니다. 50개의 고객 도메인을 관리하는 MSP에게는 월요일 아침부터 지원 티켓이 쏟아지는 일입니다.
이 가이드에서는 이메일 전달이 프로토콜 수준에서 실제로 작동하는 방식, 예측 가능한 형태로 실패하는 이유, 그리고 2026년의 엄격한 DMARC 정책에서도 안정적인 설정을 구축하는 방법을 설명합니다.
기본 개념: 이메일 전달이 보기보다 복잡한 이유
작동하지 않는 전달을 수정하려면 먼저 SMTP 계층에서 무슨 일이 일어나는지 알아야 합니다. 쪽지를 건네는 것과는 다릅니다. 편지를 다시 발송하는 작업이며, 이 차이는 매우 중요합니다.
서버 A가 사용자의 서버인 전달 서버 B로 이메일을 보내고 서버 B가 최종 목적지인 서버 C로 중계하면, 중요한 발신자 정보 변경이 발생합니다. 목적지 서버에는 서버 A가 아닌 서버 B의 IP 주소가 보입니다. 이것이 거의 모든 전달 장애의 근본 원인입니다.
봉투와 헤더: 이메일의 두 가지 발신자 정보
모든 이메일에는 서로 분리된 두 계층의 발신자 정보가 있으며, 전달은 둘의 동기화를 깨뜨립니다.
- 봉투 (P1): 메일 서버가 메시지를 실제로 라우팅할 때 사용하는 정보입니다.
Return-Path를 포함하며 SPF가 이 계층을 검증합니다. - 헤더 (P2): 이메일 클라이언트가 보낸 사람 주소로 표시하는 정보입니다. DKIM과 DMARC 정렬 검사가 이 계층을 사용합니다.
문제는 다음과 같이 발생합니다. 서버가 메시지를 전달할 때 목적지로 새로운 SMTP 연결을 엽니다. SPF는 발신 IP를 원래 발신자의 SPF 레코드와 대조하지만, 전달 서버의 IP는 해당 레코드에서 허용되지 않습니다. SPF가 실패합니다. 원래 발신자가 엄격한 DMARC 정책 (p=reject) 을 사용하고 SRS를 구현하지 않았다면 목적지 서버는 메시지를 즉시 거부합니다.
구체적인 비유를 들어 보겠습니다. Alice가 Bob에게 편지를 보냅니다. Bob은 Alice의 편지를 자신의 반송 주소가 적힌 새 봉투에 넣어 Carol에게 보냅니다. Carol은 Alice에게 Bob의 주소에서 보냈는지 확인합니다. Alice는 아니라고 답합니다. 이것이 DMARC 실패이며 Carol의 메일 서버는 그에 따라 처리합니다.
봉투와 헤더가 분리되어 있다는 점을 이해하는 것이 기초입니다. 이 가이드의 모든 해결 방법은 여기서 출발합니다.
이메일 전달, 별칭, 캐치올의 차이
운영자는 이 세 가지 라우팅 방식을 자주 혼동합니다. 잘못된 방식을 선택하면 원인을 찾는 데 세 시간이 걸리는 '이메일 누락' 지원 티켓으로 이어질 수 있습니다.
이메일 전달
한 주소로 보낸 이메일을 완전히 다른 서버에 전달합니다. 예를 들어 contact@startup.com → founder@gmail.com입니다. 네트워크 홉이 발생하며, 명시적으로 처리하지 않으면 인증 체인이 끊어집니다. 여러 도메인의 메일을 하나의 받은편지함에 모을 때 적합합니다. SRS와 ARC를 올바르게 처리하지 않으면 위험이 높습니다. 자세한 내용은 이메일 별칭과 전달을 결합할 때의 장단점을 참고하세요.
이메일 별칭
동일한 서버에 있는 기존 사서함에 붙인 다른 이름입니다. support@company.com으로 보낸 메일은 admin@company.com과 같은 사서함으로 배달됩니다. 네트워크 홉이나 인증 변경이 없습니다. 한 사람이 여러 역할을 맡을 때 가장 적합하며 위험은 낮습니다. 별칭만으로 부족한 경우와 완전한 사서함이 필요한 경우는 별칭과 사서함 선택 가이드를 참고하세요.
캐치올 (와일드카드 라우팅)
도메인에 존재하지 않는 주소, 즉 *@domain.com으로 보낸 모든 이메일을 수신합니다. 오타가 난 주소나 일회성 캠페인 주소로 온 메일을 받을 때 유용합니다. Gmail로 직접 전달하면 위험이 매우 큽니다. 도메인으로 들어오는 모든 스팸이 받은편지함에 도착하고, 결국 Gmail이 전달 서버를 스팸 발신지로 판단할 수 있습니다. 캐치올을 사용한다면 격리하세요. 전체적인 장단점은 비즈니스 이메일 설정 가이드에서 설명합니다.
| 방식 | 네트워크 홉 | 인증 위험 | 적합한 용도 |
|---|---|---|---|
| 전달 | 있음 | 높음 (SPF/DMARC 실패) | 도메인 또는 공급자 간 라우팅 |
| 별칭 | 없음 | 없음 | 여러 역할, 동일한 사서함 |
| 캐치올 | 설정에 따라 다름 | 매우 높음 (스팸 유입) | 오타 수신, 일회용 주소 |
설정 패턴: 올바른 방법, 잘못된 방법, 작동하지 않는 방법
이메일 전달을 설정하는 방법은 세 가지입니다. 그중 두 가지는 문제를 일으키고 한 가지 방법만 운영 환경에서 안정적으로 작동합니다.
1. 공급자 측 라우팅 (올바른 방법)
메시지가 사서함에 도달하기 전에 MTA 수준에서 처리하는 방식입니다. 서버는 이메일을 수신하고 SRS로 봉투를 다시 작성한 후 즉시 중계합니다. 유료 사서함 라이선스가 필요하지 않고 저장 공간도 사용하지 않습니다. SPF와 ARC는 인프라 계층에서 처리됩니다.
기반으로 삼을 만한 방식은 이것입니다. TrekMail의 전달 경로도 이 방식으로 작동합니다. 목적지를 지정하면 인프라가 인증 헤더를 처리합니다. 정확한 단계는 사서함 전달 설정 가이드를 참고하세요.
2. 사서함 규칙 (기존 방식)
전체 사용자 계정을 만들고 실제로 필요하지 않은 라이선스에 $6-$30/month를 지불한 다음 로그인하여 '메시지가 도착하면 X로 전달'이라는 받은편지함 규칙을 생성합니다.
조건부 전달, 예를 들어 '청구서만 전달', 감사 요구 사항, 중계 전에 메시지를 로컬에 저장해야 하는 상황처럼 이 방식이 적합한 예외도 있습니다. 그러나 대부분의 설정에서는 메일을 라우팅하기 위해 사용자 계정 비용을 내는 셈입니다. 이 방식도 다른 전달 방법과 마찬가지로 DMARC를 깨뜨리며 Microsoft 365는 기본적으로 자동 전달을 차단합니다. 자세한 내용은 장애 유형 섹션에서 설명합니다.
3. 클라이언트 측 전달 (사용 금지)
로컬 컴퓨터의 Outlook Desktop이나 Apple Mail에 설정하는 규칙입니다. 전달이 이루어지려면 노트북 전원이 켜져 있고 절전 상태가 아니며 인터넷에 연결되어 있어야 합니다. 이동 중에도, 재부팅 중에도, 중요한 이메일이 도착하는 2am에도 작동하지 않습니다.
이 방식이 적합한 운영 환경은 없습니다. 현재 이 방식에 의존하고 있다면 지금 수정하세요.
안전한 설정 체크리스트
전달 경로를 운영에 적용하기 전에 다음 네 가지를 확인하세요. 하나라도 건너뛰면 나중에 반드시 문제가 됩니다.
1. 루프 테스트
목적지 주소가 다시 원본 주소로 전달되지 않는지 확인합니다. A→B→A는 무한 루프입니다. 최신 서버는 홉 수 제한으로 이를 감지하여 5.4.14 hop count exceeded NDR을 반환하지만, 그때는 이미 발신 평판이 손상되었을 수 있습니다. 운영에 적용하기 전에 전달 경로를 도식화하세요.
2. 헤더 검사 테스트
개인 Gmail, Yahoo 등 도메인 외부의 계정에서 전달 주소로 테스트 메일을 보냅니다. 목적지에서 전체 메시지 헤더를 열고 Authentication-Results 헤더를 찾습니다. spf=pass (SRS 재작성 결과) 또는 dkim=pass가 표시되어야 합니다. dmarc=fail이 표시되면 해당 전달 설정은 운영 환경에 적용할 준비가 되지 않은 것입니다.
3. Reply-To 테스트
전달된 메시지에 답장합니다. 답장이 원래 발신자에게 갑니까, 아니면 전달 서버 주소로 갑니까? 반드시 원래 발신자에게 가야 합니다. 전달 서버로 간다면 봉투 설정이 잘못된 것이며 관련된 모든 사람에게 혼란스러운 메일 기록을 만들게 됩니다.
4. 발신 정책 확인
Microsoft 365 또는 Google Workspace를 중계 목적지로 사용한다면 발신 스팸 필터 설정에서 자동 전달이 허용되는지 확인합니다. M365는 이를 기본적으로 차단합니다. 올바르게 설정하지 않으면 원래 발신자에게 알림도 없이 전달 메일이 폐기됩니다.
일반적인 장애 유형
이메일 전달에 문제가 생기면 거의 항상 다음과 같은 특정 형태로 실패합니다. 패턴을 알고 있으면 목적 없이 헤더를 한 시간씩 살펴보지 않아도 됩니다.
1. DMARC 자동 폐기
2026년에 이메일이 사라지는 가장 흔한 원인이며 NDR도, 오류도, 아무런 신호도 없어 알아차리기 어렵습니다. 메시지가 그저 도착하지 않습니다.
상황은 이렇습니다. 은행, 결제 처리업체 또는 SaaS 공급자가 엄격한 p=reject DMARC 정책을 적용한 이메일을 사용자의 도메인으로 보냅니다. 이 메일을 Gmail로 전달하면 전달 서버의 IP 때문에 SPF가 실패합니다. 서버가 메시지 본문에 고지 문구를 추가하거나 제목에 [External]을 붙여 본문을 변경하면 DKIM도 실패합니다. SPF 실패 + DKIM 실패 = DMARC 실패가 되고 Gmail은 메일을 거부합니다.
해결 방법은 전달 서버에 SRS를 구현하여 SPF를 통과시키고 DKIM이 유지되도록 콘텐츠를 변경하지 않는 것입니다. 인프라를 직접 제어할 수 없다면 이를 처리해 주는 전달 공급자가 필요합니다. 전달 체인에서 DMARC 장애가 발생하는 방식은 DMARC와 보안 이메일 해설에서 자세히 다룹니다.
2. Microsoft 550 5.7.520 차단
증상: 원래 발신자가 550 5.7.520 Access denied, your organization does not allow external forwarding 코드가 포함된 NDR을 받습니다.
M365의 발신 스팸 필터가 설계된 대로 외부 주소로의 자동 전달을 차단한 것입니다. 해결하려면 Microsoft Defender 포털 → Email & Collaboration → Policies & Rules → Threat policies → Anti-spam policies → Edit the outbound policy로 이동하여 'Automatic forwarding rules'를 'On: forwarding is enabled'로 설정해야 합니다.
직관적이지 않고 Microsoft가 찾기 어려운 곳에 배치해 두었습니다. 하지만 이 오류 코드는 정확한 진단 정보이므로 표시되면 어디를 수정해야 하는지 알 수 있습니다.
3. 부재중 자동 응답 루프
사용자 A가 사용자 B에게 전달합니다. 사용자 B는 자동 응답을 설정합니다. 사용자 A가 사용자 B에게 이메일을 보냅니다. 사용자 B의 자동 응답이 사용자 A에게 전송됩니다. 사용자 A의 서버가 그 응답을 사용자 B에게 전달하고, 사용자 B의 서버가 다시 응답합니다.
최신 메일 서버는 X-Loop와 X-Auto-Response-Suppress 같은 헤더를 사용해 이를 감지하고 중단합니다. 오래되었거나 잘못 설정된 환경에서는 여전히 몇 분 안에 수천 개의 메시지가 생성될 수 있습니다. 계정 간 전달을 설정할 때 자동 응답 구성을 확인하세요.
4. 콘텐츠 변경으로 인한 DKIM 손상
DKIM은 메시지 콘텐츠의 암호화 해시에 서명합니다. 서명된 부분에서 무엇이든 변경되는 순간, 한 줄짜리 바닥글을 추가하기만 해도 서명이 깨집니다. 많은 기업 메일 시스템은 모든 발신 메시지에 법적 고지 문구를 추가합니다. 이 고지 문구가 DKIM 서명을 만든 후 추가되면 목적지에서 서명이 유효하지 않습니다.
전달된 메시지 헤더에 dkim=fail (body hash did not verify)이 표시된다면 거의 항상 이것이 원인입니다.
디버깅 절차: 증상 → 해결 방법
| 증상 | 가능성이 높은 원인 | 진단 단계 |
|---|---|---|
발신자가 NDR 5.7.1을 받음 | SPF / 중계 거부 | 전달 서버의 IP가 차단 목록에 있는지 확인합니다. 헤더에서 SPF 인증을 검증합니다. |
발신자가 NDR 5.4.14를 받음 | 라우팅 루프 | 모든 전달 규칙을 감사하여 순환 경로 (A → B → A) 를 찾습니다. |
| 이메일도 NDR도 없음 (자동 폐기) | DMARC 거부 / 스팸 필터 | 목적지의 스팸 또는 정크 폴더를 확인합니다. 헤더에서 dmarc=fail을 찾습니다. |
550 5.7.520 Access denied | M365 발신 정책 차단 | M365 Defender의 발신 스팸 정책을 편집하여 자동 전달을 활성화합니다. |
| 이메일은 도착하지만 표시가 깨짐 | DKIM 본문 해시 실패 | 헤더에서 dkim=fail (body hash did not verify)을 찾습니다. 바닥글이나 고지 문구 삽입을 비활성화합니다. |
| 원래 발신자가 아닌 전달 서버로 답장됨 | Reply-To / 봉투 설정 오류 | 전달 설정이 원래 발신자의 Reply-To 헤더를 유지하는지 확인합니다. |
운영 환경에서 전달이 실패하는 이유 (SRS와 ARC)
간단한 전달 규칙만으로는 운영 환경에 충분하지 않습니다. SRS와 ARC를 이해하는 인프라가 필요합니다. 각 기술의 정확한 역할과 둘 다 중요한 이유를 살펴보겠습니다.
SRS: Sender Rewriting Scheme
SRS는 네트워크 홉 때문에 발생하는 SPF 실패를 해결합니다. 전달 서버가 봉투 발신자 주소를 다시 작성하여 목적지가 원래 발신자의 도메인이 아닌 사용자의 도메인을 기준으로 SPF를 검증할 수 있게 합니다.
SRS 적용 전:
MAIL FROM: alice@bank.com
SRS 재작성 후:
MAIL FROM: SRS0=hash=timestamp=bank.com=alice@forwarder.com
목적지 서버는 forwarder.com을 기준으로 SPF를 실행합니다. 사용자의 서버가 허용되어 있으므로 검증을 통과합니다. 반송 메시지는 인코딩된 주소를 통해 계속 alice@bank.com으로 돌아갑니다. 반송 경로를 깨뜨리지 않으면서 SPF 요구 사항을 충족합니다.
SRS는 필수입니다. SRS가 없으면 엄격한 SPF를 적용한 발신자가 보낸 모든 전달 메시지가 목적지에서 인증에 실패합니다. 전달 체인에서 SRS가 작동하는 방식은 도메인 이메일 설정 상세 가이드를 참고하세요. Gmail 받은편지함으로 라우팅한다면 SRS와 Send Mail As를 설정하여 안전하게 도메인 이메일을 Gmail로 전달하는 방법을 단계별로 설명한 가이드도 참고하세요.
ARC: Authenticated Received Chain
SRS는 SPF를 해결하지만 DMARC 정렬을 완전히 해결하지는 못합니다. 이때 ARC가 필요합니다. ARC를 사용하면 전달 서버가 메시지에 '수신했을 때 이 메시지의 인증을 확인했으며 유효했다'는 정보를 암호화 방식으로 서명하여 남길 수 있습니다.
Google과 Microsoft는 모두 신뢰할 수 있는 중간 서버의 ARC 봉인을 인정합니다. 신뢰할 수 있는 ARC 봉인이 있으면 전달 홉 때문에 원래 SPF와 DMARC 검사가 실패하는 상황에서도 두 공급자가 메시지를 수락합니다. 이메일 인증의 증거 보존 기록과 같은 역할입니다.
ARC는 RFC 8617에 정의되어 있으며 정상적인 이메일 전달 과정에서 인증을 보존하는 현재 표준입니다. ARC가 없으면 원래 발신자의 엄격한 p=reject DMARC 정책 때문에 SRS를 적용했더라도 주요 공급자가 전달된 메시지를 거부합니다.
캐치올 위험 구역
전달은 캐치올 설정과 함께 사용되는 경우가 많으며 이 조합에는 각별한 주의가 필요합니다. 캐치올 와일드카드를 Gmail로 지정하면 도메인의 임의 주소를 노린 모든 스팸이 Gmail로 들어가고, Gmail에는 사용자의 전달 서버가 발신지로 보입니다. IP에 대한 스팸 신고가 빠르게 쌓여 정상적인 이메일까지 도메인의 발신 평판을 떨어뜨립니다.
캐치올이 필요하다면 개인 받은편지함으로 전달하지 말고 서버 측 스팸 필터링이 적용된 전용 사서함에 격리하세요. 전체 설정 방법은 도메인 이메일 설정 가이드에서 설명합니다.
TrekMail의 역할
기존 이메일 전달 방식에서는 SRS와 ARC를 지원하는 자체 MTA를 구축하거나 메일 라우팅만을 위해 사용자별 라이선스 비용을 지불해야 했습니다. 몇 개 이상의 도메인을 관리하는 운영자에게는 어느 쪽도 합리적이지 않았습니다.
Google이나 Microsoft에 $6/user/month를 지불하면서 전달 주소 10개가 필요하다면 사용하지 않는 10개 사용자 계정의 비용까지 낼 수 있습니다. 그렇지 않으면 별칭 한도에 도달해 임시방편을 계속 관리해야 합니다. 라우팅에 부과되는 세금과 같습니다.
TrekMail은 정액제 호스팅 방식을 사용합니다. 사용자 수가 아니라 요금제에 대해 비용을 지불합니다. 전달 경로, 별칭, 캐치올 설정이 포함되며 인프라에 SRS 호환 서버 측 전달이 내장되어 있습니다. 경로를 설정하면 플랫폼이 인증 헤더, TLS 적용, 배달을 처리합니다. 주소별 비용도 없고 기본 기능을 사용하기 위해 발신 스팸 정책과 씨름할 필요도 없습니다.
한 명의 창업자라면 전체 메일 서버를 구축하지 않고도 hello@yourdomain.com을 오 분 안에 Gmail로 안정적으로 라우팅할 수 있습니다. 팀에서는 모든 라우팅 변경을 대시보드에서 처리하므로 DNS를 일일이 조사할 필요가 없습니다. 100+개의 고객 도메인을 관리하는 에이전시는 전달 규칙을 중앙에서 관리하고 일관되게 적용하여 금요일 6pm에 지원 문제로 확대되는 인증 장애를 방지할 수 있습니다.
Pro 요금제 ($10/month, 연간 결제 시 $8/month)에는 외부 캐치올과 사서함 전달이 포함됩니다. Agency 요금제 ($29/month)는 대량 경로 관리를 위한 API 액세스와 함께 1,000+개의 도메인까지 확장됩니다. 모든 유료 요금제에는 14-day 무료 체험이 제공되며 카드가 필요합니다.
TrekMail이 모든 규모의 전달을 처리하는 방법은 trekmail.net에서 확인하세요.
결론
이메일 전달은 한 번 설정하고 잊어도 되는 기능이 아닙니다. 인터넷의 핵심 인증 모델과 맞닿아 있는 지속적인 라우팅 작업입니다. 실패 형태는 예측 가능합니다. IP가 변경되면 SPF가 깨지고, 콘텐츠가 수정되면 DKIM이 깨지며, 정렬이 실패하면 DMARC가 거부합니다. 프로토콜 계층에서 무슨 일이 일어나는지 이해하면 모두 해결할 수 있습니다.
실무에서 기억할 점은 SRS와 ARC를 지원하는 서버 측 전달을 사용하고 클라이언트 측 규칙은 사용하지 않는 것입니다. 운영에 적용하기 전에 헤더를 테스트하세요. M365의 발신 정책 차단을 확인하고 캐치올을 격리하세요. 여러 도메인의 이메일 전달을 관리한다면 라우팅만을 위해 사용자별 비용을 지불하지 마세요.
기반 인프라를 올바르게 구성하면 이메일 전달이 안정적으로 작동합니다. 잘못 구성하면 가장 중요한 메시지가 흔적도 없이 사라집니다. 선택은 어렵지 않습니다.