DMARC 레코드 생성기

지금 게시한 레코드에서 시작해 RFC 9989에 맞는 DMARC 레코드를 만들고, 인증에 실패한 메일을 수신 서버가 어떻게 처리할지 확인하세요.

RFC 9989, 9990, 9991 · 현재 레코드를 브라우저에서 읽음 · 입력한 내용은 저장되지 않음
예시

example.com의 레코드 예시

위에 도메인을 입력하면 현재 게시된 레코드에서 시작하고, 아래에서 무엇이든 바꿀 수 있습니다. 오른쪽 레코드는 바꾸는 대로 갱신됩니다.

pexample.com의 정책
t테스트 모드
수신 서버는 한 단계 낮게 적용합니다: reject는 quarantine처럼, quarantine은 none처럼 동작합니다. 강제 적용하려면 끄세요.
rua집계 보고서를 받을 곳
dmarc@example.com
내 도메인 명의로 보내는 곳의 일일 집계입니다. 직접 읽는 메일함이나 DMARC 보고서 서비스를 지정하세요.
sp서브도메인
news.example.com, mail.example.com…
np존재하지 않는 서브도메인
invoices.example.com 같은 지어낸 이름으로, 스푸핑하는 쪽이 즐겨 쓰는 방식입니다.
adkim정렬
DKIM
SPF
Relaxed는 mail.example.com을(를) example.com(으)로 인정하고, strict는 정확히 같은 이름이어야 합니다.
이 도메인은 메일을 보내지 않습니다
전부 거부하고 파킹 도메인에 필요한 레코드를 추가합니다.
실패 보고서와 기타
ruf실패 보고서를 받을 곳
실패한 메시지마다 보고서 한 건이 옵니다. 메시지 내용이 들어갈 수 있고, Gmail과 Microsoft는 보내지 않습니다.
fo실패 보고서를 보내는 조건

psd=는 퍼블릭 서픽스 운영자 전용이므로 제공하지 않습니다.

DMARC에 실패한 메일은 어떻게 됩니까

통과한 메일은 전혀 영향을 받지 않습니다. 실패한 메일에 대해 수신 서버는 레코드를 이렇게 해석합니다:

example.com에서 온 메일example.com
p=none결정
—
전달됨보고됨
서브도메인에서 온 메일news.example.com
p=none결정
—
전달됨보고됨
존재하지 않는 이름에서 온 메일x7q.example.com
p=none결정
—
전달됨보고됨

정책은 요청일 뿐이며 최종 결정은 수신 서버가 합니다. Microsoft가 권장하는 Honor DMARC record policy를 켜면 Microsoft 365는 reject 실패 메일을 550 5.7.1로 거부하고 quarantine 실패 메일은 Junk로 보냅니다.

적용 단계

  1. 1
    모니터링p=none보고서와 함께 p=none, 최소 한 달지금현재 위치
  2. 2
    테스트p=quarantine; t=yt=y와 quarantine: 선택 사항
  3. 3
    Quarantinep=quarantine모니터링한 기간 이상 
  4. 4
    Rejectp=reject사용자가 메일링 리스트에 글을 올리지 않는 경우 

게시하기 전에

게시할 준비가 되었습니다

수신 서버가 건너뛰거나 잘못 읽을 항목이 없는 레코드 하나입니다.

양호

보고서가 가는 곳

수신 서버는 다른 조직의 주소로는 그 조직이 허가 레코드를 게시한 경우에만 보고서를 보냅니다.

dmarc@example.com ruaexample.com 내부: 허가 불필요
OK

보고서 서비스는 모든 도메인에 적용되는 레코드 하나를 게시하므로, 그 서비스의 주소는 보통 바로 허가됨으로 표시됩니다.

어디에 붙여넣나요?

DNS 호스트를 고르세요: 아래 입력란은 해당 호스트의 양식이 요구하는 방식으로 쓰여 있습니다.

영역 파일 줄
_dmarc.example.com. 3600 IN TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com"

게시한 후

전체 확인: example.com링크에는 이 설정이 들어 있으며, 키는 절대 들어 있지 않습니다. 브라우저에서 질의했습니다: Cloudflare 리졸버, 교차 확인용으로 Google 리졸버.

DMARC 레코드는 어떻게 만듭니까?

v=DMARC1, 정책, 보고서 주소로 시작하는 TXT 레코드 하나를 도메인의 _dmarc에 게시하면 됩니다. 위 생성기가 이 DMARC 레코드를 써 주며, DNS 호스트가 응답하는 즉시 적용됩니다.

먼저 메일이 이미 SPF나 DKIM을 통과하는지 확인하고, 직접 읽는 rua 주소와 함께 p=none으로 시작하세요. 수신 서버는 전과 같이 메일을 전달하면서, 내 도메인 명의로 보내는 곳의 일일 보고서를 보내 줍니다.

보고서를 최소 한 달 동안 읽고, 실패하는 정상 발신자를 모두 고친 다음 quarantine, reject로 올리세요. 조직 도메인의 레코드 하나가 그 서브도메인도 포함합니다.

  1. 1_dmarc에 게시_dmarc.example.com · TXT
    v=DMARC1; p=none; rua=mailto:dmarc@example.com
  2. 2수신 서버가 조회TXT 질의 _dmarc.example.com
  3. 3정책 적용p=none → 전달됨
  4. 4매일 보고서 도착집계 보고서(XML, 매일)dmarc@example.com
레코드 하나, 4단계
게시된 RFC 7489 레코드를 RFC 9989에 맞게 다시 쓴 DMARC 레코드 생성기 화면, 정책 경로와 보고서 허가 확인게시된 RFC 7489 레코드를 RFC 9989에 맞게 다시 쓴 DMARC 레코드 생성기 화면, 정책 경로와 보고서 허가 확인게시된 레코드에서 시작불러오기는 브라우저에서 _dmarc를 읽어 양식을 채웁니다. 저희 서버를 거치지 않습니다.모든 태그에 색 표시레코드의 각 부분이 해당 설정과 같은 색입니다: 하나에 마우스를 올리면 짝이 표시됩니다.무엇이 왜 바뀌었는지RFC 9989에서 삭제된 태그는 이유와 함께 제거됩니다.호스트가 원하는 방식으로 복사호스트, 유형, 값을 각각 복사 버튼과 함께 DNS 호스트에 맞게 다시 써서 보여 줍니다.보고서 주소 확인다른 조직의 주소에는 표시가 붙고, 그 허가 레코드를 실시간으로 확인합니다.
DNS에서 불러온 게시 레코드: pct, rf, ri를 이유와 함께 삭제하고, 모든 태그를 해당 설정과 같은 색으로 표시하며, 다른 조직의 보고서 주소에 표시를 붙였습니다.

DMARC 태그는 각각 무슨 뜻입니까?

DMARC 레코드는 tag=value 쌍의 목록입니다. v는 레코드의 종류, p는 실패한 메일의 처리 방식, rua는 보고서를 받을 곳을 뜻하며, 나머지 태그는 기본값만 바꿉니다.

RFC 9989는 v, p, sp, adkim, aspf, rua, ruf, fo를 유지하고 np(존재하지 않는 이름), t(테스트 모드), psd(퍼블릭 서픽스 운영자용)를 추가하며 pct, rf, ri를 삭제합니다.

v만 맨 앞에서 정확히 DMARC1이어야 합니다. RFC 9989가 모르는 태그는 무시되므로 삭제된 태그는 해롭지 않지만 아무 일도 하지 않습니다.

태그값기본값역할
vDMARC1필수레코드 표시. 맨 앞에 있어야 함
pnone · quarantine · rejectnone도메인에서 온 실패 메일을 수신 서버가 처리하는 방식
spnone · quarantine · rejectp존재하는 서브도메인에 대한 같은 설정
np 신규none · quarantine · rejectsp, 그다음 p존재하지 않는 이름에 대한 같은 설정
t 신규y · nn테스트 모드: 한 단계 낮게 적용
ruamailto: 주소없음일일 집계 보고서를 받을 곳
rufmailto: 주소없음메시지별 실패 보고서를 받을 곳
fo0 · 1 · d · s0실패 보고서를 보내는 조건
adkimr · srDKIM 정렬: relaxed 또는 strict
aspfr · srSPF 정렬: relaxed 또는 strict
psd 신규y · n · uu퍼블릭 서픽스 운영자 전용
pct 삭제됨0–100삭제됨: 0과 100만 안정적으로 작동했음
rf 삭제됨afrf삭제됨: 값이 하나뿐이었음
ri 삭제됨초삭제됨: 보고서는 어차피 매일 옴
RFC 9989의 태그

DMARC 정책은 none, quarantine, reject 중 무엇을 써야 합니까?

보고서와 함께 none으로 시작해, 정상 발신자가 모두 통과하면 quarantine으로, 확신이 서면 reject로 올리세요. RFC 9989는 none에서 최소 한 달, quarantine에서 같은 기간 이상을 권합니다.

none은 전달에 아무 영향이 없고, quarantine은 실패한 메일을 스팸함으로 보내며, reject는 거부합니다. 정책은 요청이며 최종 결정은 수신 서버가 합니다.

사용자가 메일링 리스트에 글을 올리는 도메인은 reject를 쓰지 않아야 합니다(SHOULD NOT). 메시지를 변경하는 리스트는 DMARC를 깨뜨리기 때문입니다. Google은 더 빠른 경로를 제안합니다(none으로 1주, 그다음 quarantine을 일부 비율로).

  1. 1
    모니터링p=none; rua=…최소 한 달지금전달 및 보고
  2. 2
    테스트p=quarantine; t=y선택 사항한 단계 낮게
  3. 3
    Quarantinep=quarantine같은 기간 이상2026년 11월 28일 이전에는 안 됨스팸함
  4. 4
    Rejectp=reject사용자가 리스트에 글을 올리지 않는 경우2026년 12월 28일 이전에는 안 됨거부됨
Google의 빠른 경로none · 1주quarantine · 일부 비율quarantine 100%reject(선택)
오늘 날짜부터 계산한 실제 일정의 적용 단계

RFC 9989에서 DMARC는 무엇이 바뀌었습니까?

RFC 9989(2026년 5월)는 RFC 7489를 대체했습니다. pct, rf, ri를 삭제하고 np, t, psd를 추가했으며, 조직 도메인을 Public Suffix List가 아니라 DNS를 위로 거슬러 올라가며 찾습니다.

pct=0은 이제 t=y로 읽히고, 그 외의 pct는 수신 서버마다 적용이 달라 삭제됩니다. 보고서 크기 접미사(!10m)는 무시됩니다.

트리 탐색은 해당 이름과 각 상위 이름의 _dmarc를 최대 8번 질의하므로, 매우 깊은 이름은 자체 레코드를 두는 것이 좋습니다. Google과 Microsoft의 도움말에는 아직 pct가 설명되어 있습니다.

이전
v=DMARC1; p=quarantine; pct=0; rua=mailto:dmarc@example.com!10m; rf=afrf; ri=86400
이후
v=DMARC1; p=quarantine; t=y; rua=mailto:dmarc@example.com
  • pct=0이 t=y로 바뀜
  • rf 삭제
  • ri 삭제
  • !10m 삭제
DNS 트리 탐색_dmarc.mail.news.example.comNXDOMAIN_dmarc.news.example.comNXDOMAIN_dmarc.example.comv=DMARC1 ✓처음 찾은 레코드가 적용됨. 질의는 최대 8번
게시된 RFC 7489 레코드를 다시 쓴 예

DMARC 보고서를 다른 서비스로 보내려면 어떻게 합니까?

서비스의 주소를 rua에 넣으세요. 그 도메인이 내 것이 아니면 example.com._report._dmarc.reports.example.net(내 도메인, 그다음 상대 도메인) 같은 이름의 허가 레코드를 게시해야 하며, 보고서 서비스는 와일드카드로 모든 도메인에 대해 한 번에 게시합니다.

이 레코드가 없으면 수신 서버는 보고서를 어디로도 보내지 않으며, 아무 알림도 없습니다. 생성기는 외부 주소를 각각 실시간으로 확인하고, 그 소유자가 게시해야 할 레코드를 보여 줍니다.

대량 수신에 맞는 메일함이나 서비스를 쓰세요. 큰 발신자는 하루에 보고서가 수백 건 옵니다. 실패 보고서(ruf)에는 메시지 내용이 들어갈 수 있으며, Gmail과 Microsoft는 보내지 않습니다.

내 레코드
v=DMARC1; p=none; rua=mailto:reports@rua.vendor.example.net
질의
허가 레코드example.com._report._dmarc.rua.vendor.example.netTXT "v=DMARC1;"
보고서 전송
보고서 서비스reports@rua.vendor.example.net

와일드카드 허가를 게시하는 보고서 서비스

dmarcianValimailEasyDMARCPostmarkCloudflareMimecast DMARC AnalyzerProofpointAgariRed Sift OnDMARCPowerDMARCSendmarcURIportsReport URIDMARCLYFraudmarcDMARC Report
누가 무엇을 확인하는가

Gmail, Yahoo, Outlook.com 발신자를 위한 DMARC

Gmail, Yahoo, Outlook.com은 대량 발송자에게 DMARC 게시를 요구하며 p=none이면 충분합니다. 또한 From 도메인이 SPF 또는 DKIM과 정렬되어야 합니다.

Gmail과 Outlook.com은 하루 5,000통 초과를 기준으로 삼고, Yahoo는 기준을 밝히지 않습니다. Outlook.com은 SPF와 DKIM이 모두 통과해야 하며, 실패한 메일은 550 5.7.515로 거부합니다.

BIMI 로고에는 더 많은 조건이 필요합니다: 조직 도메인과 From 도메인에 quarantine 또는 reject를 적용하고, 서브도메인 정책이 none이 아니어야 합니다.

GmailYahooOutlook.com
시행일2024년 2월2024년 2월2025년 5월 5일
대상하루 5,000통 초과기준 명시 없음하루 5,000통 초과
DMARCp=none이면 충분p=none, 통과해야 함p=none, 정렬됨
SPF와 DKIM둘 다둘 다둘 다 통과해야 함
정렬SPF 또는 DKIMrelaxed면 충분SPF 또는 DKIM
메일함 제공업체별로 대량 발송자에게 요구하는 것

메일을 보내지 않는 도메인의 DMARC

DMARC p=reject, SPF v=spf1 -all, null MX를 게시하고 서브도메인에는 와일드카드 SPF와 MX를 두며 DKIM 레코드는 전혀 두지 않습니다: M3AAWG의 2022년 파킹 도메인 권장 세트입니다.

보낼 수 있는 곳이 없으면 reject가 정상 메일을 해칠 일이 없고, 수신 서버는 위조 메일을 즉시 거부합니다. M3AAWG는 더 이상 여기에 빈 DKIM 키를 권하지 않습니다(2015년의 권고였습니다). DKIM 레코드를 아예 게시하지 마세요.

파킹 도메인이 많다면 각 _dmarc를 CNAME으로 공유 레코드 하나에 연결해 두면, 나중에 바꿀 때 한 번만 고치면 됩니다.

example.net. 3600 IN TXT "v=spf1 -all"
_dmarc.example.net. 3600 IN TXT "v=DMARC1; p=reject;"
example.net. 3600 IN MX 0 .
*.example.net. 3600 IN TXT "v=spf1 -all"
*.example.net. 3600 IN MX 0 .
위조범이 invoices@example.net 명의로 발송거부됨: SPF 실패, DKIM 없음, DMARC는 reject
example.net의 파킹 도메인 세트

DMARC 레코드는 어디에 추가합니까?

DNS 호스트에서 _dmarc라는 이름의 TXT 레코드로 추가합니다. 대부분의 호스트가 도메인을 알아서 붙이므로 _dmarc.example.com이 아니라 _dmarc만 입력하세요.

도메인을 자동으로 붙이는 호스트에 전체 이름을 입력하면 _dmarc.example.com.example.com이 만들어지는데, 아무도 읽지 않는 레코드입니다. 생성기에서 호스트를 고르면 정확한 입력란을 볼 수 있습니다.

한 이름에는 DMARC 레코드가 하나만 있어야 합니다. 두 번째를 추가하지 말고 이전 것을 교체하세요. 그렇지 않으면 수신 서버가 둘 다 무시합니다.

DNS 호스트이름 입력란긴 값
Cloudflare_dmarc한 칸: 자동으로 나눔
GoDaddy_dmarc한 칸: 자동으로 나눔
Namecheap_dmarc한 칸: 자동으로 나눔
Squarespace_dmarc문서화되지 않음
Amazon Route 53_dmarc따옴표 문자열
Google Cloud DNS_dmarc따옴표 문자열
Azure DNS_dmarc한 칸: 자동으로 나눔
DigitalOcean_dmarc문서화되지 않음
Hostinger_dmarc문서화되지 않음
IONOS_dmarc문서화되지 않음
OVHcloud_dmarc문서화되지 않음
Porkbun_dmarc문서화되지 않음
cPanel_dmarc한 칸: 자동으로 나눔
Plesk_dmarc문서화되지 않음
Hetzner_dmarc따옴표 문자열
STRATO_dmarc문서화되지 않음
Bluehost_dmarc문서화되지 않음
호스트별로 입력할 내용

DMARC 레코드 생성기 FAQ

DMARC 레코드란 무엇입니까?

DMARC 레코드는 _dmarc.yourdomain에 두는 TXT 레코드로, 내 도메인 명의라고 주장하지만 SPF와 DKIM 정렬에 실패한 메일을 수신 메일 서버가 어떻게 처리할지, 그리고 그에 대한 보고서를 어디로 보낼지 알려 줍니다. v=DMARC1로 시작하며 none, quarantine, reject 중 하나의 정책을 담습니다. 2026년 5월에 발행된 RFC 9989가 현재 표준입니다.

첫 DMARC 레코드는 어떻게 설정해야 합니까?

v=DMARC1; p=none; rua=mailto:에 직접 읽는 주소를 붙여 시작하세요. 전달에는 아무 영향이 없지만, 내 도메인 명의로 보내는 모든 서버에 대한 일일 보고서가 옵니다. 최소 한 달 뒤 자체 발신자가 모두 통과하면 RFC 9989의 권고대로 quarantine, 그다음 reject로 올리세요.

왜 pct 설정이 없습니까?

RFC 9989는 수신 서버가 0과 100 이외의 값을 일관되지 않게 적용했기 때문에 pct를 삭제했습니다. 대체 수단은 테스트 모드인 t=y로, 수신 서버가 정책보다 한 단계 낮게 적용하도록 요청합니다: quarantine은 none처럼, reject는 quarantine처럼 동작합니다. Microsoft와 Google의 도움말에는 아직 pct가 설명되어 있지만 RFC 9989 수신 서버는 무시하므로 생성기는 쓰지 않습니다.

DMARC 보고서를 Gmail이나 Outlook으로 보낼 수 있습니까?

네, 어떤 메일함이든 가능하지만 개인 받은편지함은 금방 가득 찹니다. 큰 발신자는 하루에 보고서가 수백 건 옵니다. 주소가 다른 조직에 있으면 그 도메인이 내 도메인에 대한 허가 레코드를 게시해야 하며, 그렇지 않으면 수신 서버가 아무것도 보내지 않습니다. 내 도메인의 메일함이나 DMARC 보고서 서비스를 쓰면 이 문제를 피할 수 있습니다.

DMARC 전에 SPF와 DKIM이 필요합니까?

다른 무엇보다 먼저 p=none을 게시해도 됩니다. 보고서가 SPF나 DKIM이 필요한 발신자를 알려 줍니다. quarantine이나 reject 전에는 모든 정상 메일 흐름이 From 도메인과 정렬된 SPF 또는 DKIM을 통과해야 합니다. RFC 9989는 둘 다 권장하며, 전달(포워딩)이 SPF를 깨뜨리므로 reject 도메인은 DKIM으로 서명해야 합니다.

rua와 ruf는 어떻게 다릅니까?

rua는 집계 보고서를 받습니다. 발신 서버와 결과별로 메시지 수를 센 일일 XML 요약이며 메시지 내용은 없습니다. ruf는 개별 메시지에 대한 실패 보고서를 받으며 헤더나 내용이 들어갈 수 있습니다. Gmail과 Microsoft를 포함한 많은 대형 제공업체가 실패 보고서를 보내지 않으므로 중요한 것은 rua이고, ruf는 선택 사항입니다.

Strict 정렬을 써야 합니까?

대개는 아닙니다. Relaxed 정렬은 bounce.example.com 같은 서브도메인으로 서명하거나 반송한 메일을 example.com으로 인정하며, SendGrid, Amazon SES, Mailgun이 이렇게 발송합니다. Strict는 정확히 같은 도메인이어야 해서 이런 메일이 실패합니다. 다만 strict는 서브도메인의 DNS를 통제하는 사람이 상위 도메인으로 통과하는 것을 막으므로, 엄격하게 운영하는 도메인에 맞습니다.

sp와 np는 무엇을 합니까?

sp는 news.example.com 같은 존재하는 서브도메인의 정책을, np는 지어낸 invoices.example.com처럼 아예 존재하지 않는 이름의 정책을 정합니다. 이것이 없으면 서브도메인은 p를 따릅니다. np=reject는 만든 적 없는 이름에서 온 실패 메일에만 영향을 주며, 스푸핑하는 쪽이 상위 도메인의 약한 정책을 피해 가려고 자주 쓰는 방식을 막습니다.

DMARC 레코드는 얼마나 지나야 적용됩니까?

DNS 호스트의 서버가 그 레코드로 응답하는 즉시 적용되며, 보통 저장한 뒤 몇 분 안입니다. 직전에 조회한 수신 서버는 캐시 시간이 끝날 때까지 이전 응답을 기억할 수 있습니다. 보고서는 수신 서버가 24시간마다 보내므로 약 하루 뒤에 도착합니다. 생성기의 「게시되었는지 확인」으로 DNS가 지금 무엇을 응답하는지 볼 수 있습니다.

DMARC 생성기는 무료입니까? 내 도메인이 저장됩니까?

무료이며 가입이 필요 없습니다. 레코드는 브라우저에서 만들어지고, 현재 레코드를 불러올 때는 브라우저가 HTTPS로 Cloudflare 리졸버(Cloudflare가 느리면 Google 리졸버)에 직접 묻기 때문에 도메인이 저희 서버를 거치지 않습니다. 생성기는 저희 보고서 주소를 절대 추가하지 않습니다. 레코드의 모든 주소는 직접 입력한 것입니다.

부족한 점이 있습니까?기능 또는 새 도구 제안하기