반응형
메일 헤더(Header)란 무엇인가?
메일 헤더는 "이 메일이 어디서, 누구에 의해, 어떤 방식으로 전달되었는지"를 기록한 메일의 이력서 같은 존재다.
본문은 사용자에게 보이는 영역이라면 헤더는 메일 서버와 보안 시스템을 위한 영역이다.
스팸 분석, 위·변조 판단, 발송 경로 추적 시 가장 먼저 확인하는 게 바로 이 메일 헤더다.
메일 헤더 분석 가이드 (예시 헤더 기반 정리)
/* ChatGPT를 통해 만든 샘플 메일 헤더입니다. */
Received: from mail.example-sender.com (203.0.113.10)
by mail.example-receiver.com with ESMTP;
Tue, 04 Feb 2026 15:20:11 +0900
Authentication-Results: mail.example-receiver.com;
spf=pass smtp.mailfrom=mailer@example.com;
dkim=pass header.d=example.com
Received-SPF: pass (mail.example-receiver.com: domain of mailer@example.com
designates 203.0.113.10 as permitted sender)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=example.com; s=default;
h=From:To:Subject:Date;
bh=abcdefg123456=;
b=ZYX987654321=
From: "Example Service" <no-reply@example.com>
To: user@example-receiver.com
Reply-To: support@example.com
Subject: [Example] Sample Mail Header Guide
Date: Tue, 04 Feb 2026 15:20:11 +0900
Precedence: bulk
List-Unsubscribe: <mailto:unsubscribe@example.com>,
<https://example.com/unsubscribe>
Message-ID: <20260204152011.12345@mail.example-sender.com>
MIME-Version: 1.0
Content-Type: text/html; charset=UTF-8
1. Received - 메일 전달 경로
Received: from mail.example-sender.com (203.0.113.10)
by mail.example-receiver.com with ESMTP;
- 역할: 메일이 어떤 서버에서 어떤 서버로 전달되었는지 기록 (여러 줄일 경우 아래에서 위 순서로 해석)
- 체크 포인트: 발송 서버 IP, 중간 경유 서버 존재 여부
2. SPF (Sender Policy Framework)
Received-SPF: pass
spf=pass smtp.mailfrom=mailer@example.com
- 역할: 발송 서버 IP가 해당 도메인에서 허용된 서버인지 검증 (DNS SPF 레코드 기반 검사)
- 체크 포인트: pass(정상), fail(스푸핑 의심), softfail(정책 미흡)
3. DKIM (DomainKeys Identified Mail)
dkim=pass header.d=example.com
- 역할: 메일 전송 중 본문/헤더 위변조 여부 검증
- 체크 포인트: dkim=pass header.d → 서명 도메인
4. Authentication-Results
Authentication-Results:
spf=pass
dkim=pass
- 역할: SPF, DKIM, DMARC 최종 인증 결과 요약
- 체크 포인트: pass가 아닐 경우 의심 필요
5. From / Reply-To
From: no-reply@example.com
Reply-To: support@example.com
- 역할
- From=사용자에게 표시되는 발신자
- Reply-To: 회신 시 실제 수신 주소 - 체크 포인트
- 외부 발송 서버 + 내부 도메인 From 구조 가능
- SPF/DKIM 통과 여부가 핵심
6. Precedence - 메일 성격 구분
Precedence: bulk
- bulk: 대량 발송 메일
- list: 메일링 리스트
- normal: 일반 메일
7. List-Unsubscribe
List-Unsubscribe:
<mailto:unsubscribe@example.com>,
<https://example.com/unsubscribe>
- 역할: 수신 거부 경로 제공
8. Message-ID
Message-ID: <20260204152011.12345@mail.example-sender.com>
- 역할: 메일 고유 식별자, 로그 추적, 발송 이력 확인 시 활용
9. MIME / Content-Type
Content-Type: text/html; charset=UTF-8
- 메일 본문 형식, 문자셋(인코딩) 정보
- 한글 깨짐 현상 발생 시 해당 헤더값과 연관됨
메일 헤더 분석 체크리스트
| 항목 | 확인 내용 |
| Received | 발송 경로 정상 여부 |
| SPF | pass 여부 |
| DKIM | pass 여부 |
| From | 도메인 정합성 |
| Precedence | 대량 메일 여부 |
| List-Unsubscribe | 수신 거부 제공 |
| Message-ID | 로그 추적 가능 |
메일 담당자이다보니, 잘 까먹는 나를 위해 정리해보았다.

반응형
'Dev > CS' 카테고리의 다른 글
| 🐳 도커(Docker) 프록시 네트워크 설정 (0) | 2026.01.21 |
|---|---|
| 🐳 도커(Docker) 기본 개념과 용어 정리 (0) | 2026.01.20 |
| [CS] 해싱과 암호화의 차이점 (2) | 2025.03.17 |
| [CS] Base62 vs Base64 비교 및 용도별 적합성 (0) | 2025.03.12 |
| [DNS] MX 레코드 확인 방법 (0) | 2025.02.10 |