SPF, DKIM, DMARC 검사: 메일이 제대로 도착할까요?
도메인을 입력하세요. DNS에서 SPF, DKIM, DMARC 레코드와 MX 레코드를 읽어 수신 메일 서버와 같은 방식으로 확인하고, 무엇이 없거나 잘못되었는지 쉬운 말로 알려 드립니다. DNS에 바로 붙여 넣을 수 있는 예시 레코드도 함께 제공합니다. 메일 서버에는 연결하지 않으며 아무것도 저장하지 않습니다.
결과의 의미
- SPF
- 도메인을 대신해 메일을 보낼 수 있는 서버를 나열한 TXT 레코드입니다. 수신 서버가 연결한 서버를 이 목록과 대조합니다. 제한: 레코드 하나, DNS 조회 최대 10번, 마지막에 ~all 또는 -all. SPF만으로는 전달(포워딩) 시 깨지기 때문에 DKIM이 있습니다.
- DKIM
- 메일 서버가 모든 메시지에 개인 키로 서명하며, 공개 키는 selector._domainkey.yourdomain에 게시됩니다. 수신 서버가 서명을 검증하며, 서명은 전달되어도 유지됩니다. 2048비트 RSA 키를 사용하고 가끔 교체하세요.
- DMARC
- _dmarc.yourdomain의 TXT 레코드로, SPF와 DKIM이 실패했을 때 수신 서버가 어떻게 처리할지(none, quarantine, reject)와 보고서를 어디로 보낼지 알려 줍니다. 정렬(alignment)은 From 헤더의 도메인이 SPF 또는 DKIM 도메인과 일치해야 한다는 뜻입니다. p=none으로 시작해 보고서를 읽고 점차 강화하세요.
- MX
- 도메인의 메일을 수신하는 서버입니다. 발송에는 필요하지 않지만, 주요 수신 서버는 MX 레코드가 없는 도메인을 신뢰하지 않으며, MX가 없으면 회신이 반송됩니다.
- 중요한 이유
- 대형 메일 제공업체는 모든 발신자에게 SPF 또는 DKIM을, 대량 발송자에게는 DMARC를 요구합니다. 없으면 메일이 스팸함으로 가거나 거부됩니다. 같은 레코드가 다른 사람이 도메인 이름으로 피싱 메일을 보내는 것도 막아 줍니다.
- 계속 유지하기
- 뉴스레터 도구를 추가하거나, 호스팅을 옮기거나, 키를 교체하면 레코드가 바뀝니다. Centoculus는 도메인의 SPF, DKIM, DMARC, MTA-STS, DNSSEC를 매시간 확인하고 변경이 있으면 알림을 보냅니다. 메일 전달 확인은 테스트 메시지도 보내 어디에 도착했는지 알려 줍니다.
이 확인을 자동으로 하고 알림을 받고 싶으신가요?
Centoculus는 무료 요금제에서 5분마다 사이트를 확인하고, 고객이 알아차리기 전에 이메일과 앱으로 알림을 보냅니다. 웹사이트 모니터 50개와 하루 SSL 확인 5개를 무료로 제공하며 상업적 이용이 가능합니다. 곧 가입이 열립니다. 얼리 액세스를 신청하시면 가장 먼저 시작할 수 있습니다.
얼리 액세스 신청SPF, DKIM, DMARC에 대한 질문
SPF, DKIM, DMARC의 차이는 무엇인가요?
SPF는 어떤 서버가 도메인을 대신해 메일을 보낼 수 있는지 알려 줍니다. DKIM은 서명으로 메시지가 변경되지 않았고 실제로 서버에서 왔음을 증명합니다. DMARC는 둘을 눈에 보이는 From 주소와 연결하고 실패했을 때 수신 서버가 어떻게 처리할지 알려 줍니다. 세 가지 모두 필요합니다.
DKIM 셀렉터란 무엇이고 어디에서 찾나요?
셀렉터는 DNS에서 키의 이름입니다: selector._domainkey.yourdomain. DKIM을 설정할 때 메일 제공업체가 이름을 알려 줍니다(Google은 "google", Microsoft 365는 "selector1"과 "selector2"). 보낸 메일의 DKIM-Signature 헤더에서 s= 태그로도 확인할 수 있습니다.
SPF에 조회 10번 제한이 있는 이유는 무엇인가요?
include, a, mx, ptr, exists, redirect마다 수신 서버가 DNS를 조회합니다. 표준은 남용을 막기 위해 한 번의 확인에 최대 10번으로 제한합니다. 한도를 넘으면 수신 서버가 영구 오류를 반환하며 대부분 실패로 처리합니다. 조회가 많이 필요한 제공업체는 평탄화된 include를 제공합니다.
~all과 -all 중 무엇을 써야 하나요?
-all은 수신 서버에 다른 서버의 메일을 거부하라고 알리고, ~all은 의심스러운 메일로 처리하라고 알립니다. DMARC가 quarantine 또는 reject이면 DMARC가 결정하므로 차이는 작습니다. 모든 발신자를 나열했는지 확신하기 전에는 ~all로 시작하고 그다음 -all로 바꾸세요.
어떤 DMARC 정책으로 시작해야 하나요?
rua 주소와 함께 p=none으로 시작하세요. 몇 주 동안 보고서를 읽고, 모든 정상 발신자를 SPF와 DKIM에 추가한 후 p=quarantine으로, 마지막으로 p=reject로 옮기세요. 첫날부터 reject로 건너뛰면 아무도 기억하지 못한 뉴스레터 도구나 CRM이 차단되는 경우가 많습니다.
DNS 변경이 적용되기까지 얼마나 걸리나요?
보통 몇 분이며, 길어야 이전 레코드의 TTL(흔히 최대 24시간)입니다. 변경 후 이 확인을 다시 실행하세요. 매번 DNS를 새로 읽습니다.
레코드는 문제없는데 메일이 계속 스팸함으로 갑니다.
인증은 입장권일 뿐입니다. 내용, 목록의 품질, 신고율, 발송 IP의 평판도 중요합니다. 발송 IP가 차단 목록에 올라 있는지, 역방향 DNS가 메일 서버 이름과 일치하는지 확인하세요.