디킴, 디마크, 스팸함, 트랜잭션 메일 | 가입 메일이 안 열리면 DNS는 어디서 고치나?
가입 메일이 스팸함이면 발신 이름보다 DNS 세 칸을 먼저 본다. 발신자 정책, 디킴, 디마크, From 정렬, 하루 5천 통 지메일 규칙, 가비아 TXT, 리센드 CNAME, 네이버와 다음 헤더를 개발자, 이메일, API, 클라우드, 스타트업 기준으로 같은 표에 둔다. 벤더 비교 글과 웹훅 멱등 글과 자리를 섞지 않는다.
가입 확인 메일이 스팸함에 들어가 본 적 있으신가요? 발신 이름만 바꿔서는 받은편지함이 열리지 않습니다. 디킴 서명이 없거나 디마크 정렬이 어긋나면 지메일과 네이버가 정크로 넣습니다. 하루 5천 통을 넘는 대량 발신은 발신자 정책과 디킴, 디마크를 같이 통과해야 합니다. 디마크 정책은 없음으로 시작해도 됩니다. 저는 가비아 DNS에 TXT를 넣고, 리센드 콘솔 값을 그대로 붙인 뒤에야 파트너십 메일이 받은편지함으로 갔습니다. 발신자 정책 레코드는 도메인에 하나여야 하고, include가 열 개를 넘으면 조회 한도에 걸립니다.
벤더 고르기는 리센드 비교에 두고, 여기는 DNS 세 칸과 정렬만 봅니다. 숫자는 2026년 8월 지메일 발신 가이드와 클라우드플레어 디마크 문서 기준입니다.
DNS에 TXT를 넣는 순서
먼저 발신자 정책 한 줄, 그다음 디킴 시그니처, 마지막에 디마크입니다. 세 칸을 같은 날 넣어도 전파는 수분에서 하루입니다. 벤더 콘솔이 준 값을 그대로 붙이고, 직접 문장을 짜지 않습니다.
발신자 정책(SPF)은 그 도메인으로 메일을 보낼 수 있는 서버를 적습니다. 디킴(DKIM)은 본문이 중간에 안 바뀌었는지 서명합니다. 디마크(DMARC)는 둘 중 정렬된 쪽이 실패했을 때 수신함이 버릴지, 격리할지, 보고서만 보낼지를 정합니다. 세 값은 모두 TXT입니다. 가비아와 카페24, 클라우드플레어 콘솔에서 이름과 값을 붙입니다.
칸
DNS 이름
값의 모양
한 줄로
발신자 정책
루트(@) 또는 도메인 자체
v=spf1 include:… ~all
도메인당 레코드 하나. include를 한 줄에 모은다
디킴
선택자._domainkey
TXT 공개키, 또는 벤더가 준 CNAME
리센드와 세스는 콘솔 값을 복사한다
디마크
_dmarc
v=DMARC1; p=none; rua=mailto:…
없음 정책으로 보고서를 먼저 모은다
리센드 콘솔은 디킴을 CNAME 두세 줄로 주는 달이 많습니다. 아마존 심플이메일(SES)은 TXT 공개키를 줍니다. 값을 손으로 줄이면 검증이 실패합니다. 따옴표를 두 겹으로 넣거나 앞뒤 공백을 남기면 가비아에서 저장은 되고 조회는 깨집니다. 넣은 뒤에는 아래 명령으로 값이 그대로 나오는지 봅니다.
한 줄에 모으기 | 발신자 정책은 도메인에 두 개가 있으면 수신함이 둘 다 무시하는 경우가 많습니다. 호스팅 메일 include와 리센드 include를 한 레코드에 이어 붙입니다. ~all은 실패해도 받아 보고, -all은 실패하면 거절에 가깝습니다. 빠진 서버가 있을 때는 물결을 남깁니다.
통과해도 스팸인 자리는 정렬이다
레코드가 있어도 From 도메인과 디킴 d= 값, 반송 경로 도메인이 조직 단위로 같아야 디마크가 통과합니다. 리센드는 보통 디킴 정렬을 맞춰 주고, From을 지메일 주소로 쓰면 정렬이 깨집니다.
지메일 발신 가이드는 대량 발신에서 From 헤더 도메인이 발신자 정책 도메인 또는 디킴 도메인과 맞아야 한다고 적습니다. 완화된 정렬은 조직 도메인만 같으면 됩니다. mail.example.com과 example.com은 같은 조직입니다. gmail.com과 example.com은 다릅니다. 12사이트 문의 메일을 noreply@gmail.com으로 보내면 인증은 지메일 쪽이고, 우리 도메인 디마크와는 상관이 없습니다. 스푸핑으로 보이기도 합니다.
칸
어디에 찍히나
디마크와 맞출 대상
From
받은편지함에 보이는 주소
기준 도메인. 여기가 우리 도메인이어야 한다
반송 경로
봉투 발신, Return-Path
발신자 정책 정렬. 벤더 반송 도메인이면 조직이 갈린다
디킴 d=
서명 헤더의 도메인
디킴 정렬. 리센드가 우리 도메인으로 서명하면 통과
테스트 메일을 지메일로 받아 원문을 엽니다. Authentication-Results에 spf=pass, dkim=pass, dmarc=pass가 같이 있으면 정렬까지 맞습니다. 앞 두 칸만 pass이고 디마크가 fail이면 레코드는 있는데 From이 다른 도메인입니다. 네이버와 다음도 원문 헤더를 보여 줍니다. 저는 세 곳을 같은 제목으로 보내고 스크린샷을 남깁니다.
키 유출과 환경변수는 시크릿 체크에 두고, 웹훅이 여러 번 오는 자리만 멱등 키 글을 봅니다. 수신 거부 콜백이 두 번 와도 구독 해지는 한 번이어야 합니다.
발신자 정책 한 줄, 디킴 시그니처, 디마크 보고서를 같은 도메인에 붙인다. 값은 벤더 콘솔을 그대로 쓴다
하루 5천 통을 넘기면 지메일이 요구하는 것
개인 지메일로 하루 5천 통을 넘기면 발신자 정책과 디킴, 디마크를 모두 통과해야 합니다. 디마크 정책은 없음으로 시작해도 됩니다. 스팸 신고율은 0.3% 아래를 유지합니다.
2024년 2월부터 지메일은 개인 계정(@gmail.com)으로 보내는 모든 발신에 발신자 정책 또는 디킴을 요구합니다. 같은 날 5천 통을 넘기면 둘 다, 그리고 디마크가 필요합니다. 야후 발신 안내도 같은 문턱을 씁니다. 12사이트 가입 메일만 보내면 5천에 안 닿는 달이 많습니다. 그래도 세 칸을 미리 넣으면, 나중에 뉴스레터를 열 때 갑자기 막히지 않습니다.
구분
문턱
필수
모든 발신
개인 지메일로 1통부터
발신자 정책 또는 디킴, 정방향과 역방향 DNS, TLS
대량 발신
하루 5천 통, 개인 지메일
발신자 정책과 디킴과 디마크, From 정렬, 원클릭 수신 거부
스팸 신고
포스트마스터 도구
0.3% 미만. 0.1% 아래를 권장
디킴 키
지메일 수신
1024비트 이상. 가능하면 2048비트
마케팅과 구독 메일은 원클릭 수신 거부가 필요합니다. 헤더에 List-Unsubscribe와 List-Unsubscribe-Post를 같이 넣습니다. 가입 확인과 비밀번호 재설정 같은 트랜잭션 메일은 이 헤더 대상이 아닙니다. 두 종류를 한 주소에서 섞어 보내면 수신 거부 한 번에 비밀번호 메일도 끊길 수 있습니다. From을 login@와 news@로 나눕니다.
하루 5천 통을 넘기면 발신자 정책과 디킴, 디마크가 같이 필요하다. 정책은 없음으로 시작해도 된다
첫 메일을 보내기 전 이틀
레코드를 넣은 날에는 테스트 주소 세 곳만 보냅니다. 지메일, 네이버, 다음입니다. 헤더의 인증 결과를 보고 통과와 정렬을 확인한 뒤에 가입 메일을 엽니다.
첫째 날에는 DNS만 넣습니다. 가비아에서 TXT가 조회되는지, 클라우드플레어면 프록시가 꺼져 있는지 봅니다. 메일 레코드는 회색 구름이 맞습니다. 디킴 CNAME이 주황색이면 서명 조회가 흔들립니다. 둘째 날 오전에 dig가 콘솔 값과 같은지 확인하고, 제 개인 세 계정으로만 한 통씩 보냅니다. 스팸함이 아니라 받은편지함인지도 같이 봅니다. 인증은 통과인데 스팸이면 본문 링크와 도메인 평판을 봅니다.
위 발신자 정책은 예시입니다. 리센드와 구글 워크스페이스를 같이 쓰는 도메인용입니다. 세스를 쓰면 include:amazonses.com이 들어갑니다. 벤더 문서의 include 호스트를 그대로 씁니다. 없는 호스트를 넣으면 조회만 늘고 통과는 안 됩니다. 조회는 10번이 한도입니다. include가 다시 include를 부르면 숫자가 금방 찹니다.
포스트마스터 도구는 지메일 수신 통계입니다. 도메인을 등록해 두면 스팸 신고와 인증 실패가 그래프로 남습니다. 초반에는 표본이 작아 빈 칸이 많습니다. 비어 있다고 통과는 아닙니다. 에러 알림은 센트리 글처럼 발신 실패율에도 붙입니다. 가입 메일이 5분 안에 안 가면 사용자는 가입을 다시 누릅니다.
거절 정책을 바로 켜지 않는 이유
없음 정책으로 보고서를 모은 뒤에 격리, 거절로 올립니다. 빠진 include나 옛 서버가 있으면 거절 순간에 정상 메일도 막힙니다. 저는 2주 보고서를 보고 올립니다.
디마크 p=none은 실패해도 수신함이 자유롭게 처리합니다. 다만 보고서 주소(rua)가 있으면 누가 우리 도메인으로 보냈는지 매일 요약이 옵니다. 그 안에 리센드만 있으면 다음 단계입니다. 옛 카페24 릴레이나 누가 복사한 스크립트가 있으면 먼저 include를 고칩니다. p=quarantine은 스팸함으로 밀어 넣는 힌트입니다. p=reject는 받는 쪽에서 거절할 수 있습니다. 하위 도메인에 별 정책이 없으면 루트 정책이 내려갑니다.
카나리처럼 한 번에 전원을 바꾸지 않습니다. 배포 슬라이스는 카나리 장애 글에 있고, 여기는 정책 퍼센트입니다. pct=10으로 열 통 중 한 통만 새 정책을 적용할 수 있습니다. 기능 공개와 비슷하게 끄고 켜는 스위치가 필요합니다. 롤아웃 체크는 기능 플래그 글과 자리가 다릅니다. 여기는 DNS TTL이 식기 전에는 돌아온 값이 옛 정책입니다.
보고서를 받으려면 rua 메일함이 실제로 열려 있어야 합니다. 같은 도메인으로 받으면 그 함 자체도 인증이 필요합니다. 처음에는 별 도메인 함이거나 외부 보고서 함을 씁니다. 첨부 XML을 매일 읽기는 힘들어서, 요약 서비스에 위임하는 팀이 많습니다. 위임해도 정책 값은 우리 DNS에 남습니다.
없음 정책으로 2주 보고서를 본 뒤 격리, 거절로 올린다. TTL이 식기 전에는 옛 값이 남을 수 있다
가비아에 도메인을 둔 1인 팀
가비아와 카페24는 TXT 길이와 따옴표 처리가 다릅니다. 디킴 값이 길면 레코드를 나누거나 클라우드플레어로 네임을 옮깁니다. 호스팅 메일과 리센드를 같이 쓰면 include를 한 줄에 모읍니다.
가비아 도메인 콘솔은 TXT 한 칸 길이가 짧은 편이었습니다. 2048비트 디킴을 한 줄에 못 넣고 잘린 채로 저장된 적이 있습니다. 조회는 되는데 키가 짧아서 서명이 실패했습니다. 그때는 네임서버만 클라우드플레어로 옮기고, 등록은 가비아에 남겼습니다. 카페24 호스팅 메일을 쓰는 도메인은 기본 발신자 정책이 이미 있는 경우가 많습니다. 그 줄을 지우고 리센드만 넣으면 웹메일 발신이 실패합니다. 두 include를 한 줄에 잇습니다.
한국 수신함은 지메일만 있는 게 아닙니다. 네이버와 다음은 자체 스팸 점수가 있습니다. 인증이 없어도 가끔 들어가고, 인증이 있어도 짧은 URL과 광고 문장이면 정크입니다. 가입 메일 본문에는 비밀번호를 넣지 않고, 버튼 하나와 만료 시간을 적습니다. 영문 전용 발신 이름은 한국어 수신함에서 수상해 보입니다. 표시 이름은 사이트 이름 그대로입니다.
부가세와 카드 줄은 메일 벤더 구독에도 붙습니다. 리센드와 세스 고르기는 벤더 비교에 있습니다. 여기는 DNS가 비어 있으면 어떤 벤더를 골라도 스팸함이 먼저라는 점만 남깁니다. API 키는 저장소에 올리지 않습니다. 그 자리는 환경변수 체크입니다.
발신 규칙은 수신함이 수시로 바꿉니다. 위 표는 2026년 8월 공개 페이지 기준 점검용이며, 최종 근거는 각 공식 가이드와 실제 헤더입니다.
자주 묻는 질문
발신자 정책만 넣으면 가입 메일이 열리나?
소량 발신은 발신자 정책 또는 디킴 중 하나로도 지메일 최소 조건은 채웁니다. 다만 디마크 정렬이 없고 From이 다른 도메인이면 네이버와 다음에서 정크로 가는 달이 있습니다. 리센드를 쓰면 콘솔이 준 디킴을 같이 붙입니다. 세 칸을 넣는 시간이 10분입니다. 나중에 뉴스레터를 열 때도 다시 안 만집니다.
디마크 정책을 처음부터 거절로 해도 되나?
바로 거절로 두면 빠진 서버의 정상 메일이 거절됩니다. 호스팅 웹메일, 옛 세스 리전, 누가 복사한 크론이 아직 살아 있는 경우가 많습니다. 없음으로 2주 보고서를 보고, 우리 발신만 남으면 격리, 그다음 거절입니다. 퍼센트 칸으로 10%만 새 정책을 적용할 수도 있습니다.
가비아에서 디킴 값이 잘리면 어떻게 하나?
콘솔 한 칸 길이 제한입니다. 2048비트 공개키는 길어서 잘린 채로 저장되면 서명이 실패합니다. 네임서버를 클라우드플레어로 옮기거나, 벤더가 CNAME을 주면 짧은 별칭만 가비아에 둡니다. 저장 후 dig TXT로 키가 끝까지 나오는지 봅니다. 중간이 잘리면 받은편지함 헤더는 디킴 실패입니다.
From을 지메일 주소로 보내면 안 되나?
개인 지메일로 보내면 우리 도메인 인증과 맞지 않습니다. 지메일 발신 가이드는 지메일 From을 흉내 내는 대량 메일을 거절하거나 스팸으로 넣을 수 있다고 적습니다. 사이트 도메인 주소를 From에 두고, 회신은 같은 도메인의 운영 함으로 둡니다. 표시 이름만 사이트 이름으로 바꿉니다.
네이버와 다음도 같은 레코드면 통과하나?
발신자 정책과 디킴, 디마크는 수신함 공통입니다. 네이버와 다음은 그 위에 자체 점수를 얹습니다. 인증 통과 뒤에도 짧은 단축 URL, 광고 문장, 처음 보는 도메인은 정크일 수 있습니다. 테스트 통을 세 곳에 보내고 원문 헤더를 같이 봅니다. 한곳만 실패면 그 함의 스팸 함이 아니라 헤더 실패인지 먼저 가릅니다.
트랜잭션 메일에도 원클릭 수신 거부가 필요한가?
지메일 대량 규칙은 마케팅과 구독 메일에 원클릭 수신 거부를 요구합니다. 가입 확인과 비밀번호 재설정은 대상이 아닙니다. 두 종류를 한 From에서 섞으면 수신 거부 한 번에 로그인 메일도 끊깁니다. 주소를 나눕니다. 뉴스레터를 5천 통 가까이 보내기 전에 헤더를 붙입니다.