Tạo Bản Ghi DMARC (DMARC Record Generator)

Tạo bản ghi DMARC theo RFC 9989, bắt đầu từ bản ghi bạn đang công bố, và xem máy chủ nhận sẽ làm gì với thư không đạt.

RFC 9989, 9990 và 9991 · bản ghi hiện tại được đọc từ trình duyệt của bạn · không lưu bất cứ thứ gì bạn nhập
Ví dụ

Một bản ghi ví dụ cho example.com

Nhập tên miền của bạn ở trên để bắt đầu từ bản ghi đang công bố, hoặc đổi bất cứ điều gì ở dưới. Bản ghi bên phải cập nhật ngay.

pChính sách cho example.com
tChế độ thử nghiệm
Máy chủ nhận áp dụng thấp hơn một bậc: reject hoạt động như quarantine, quarantine như none. Hãy tắt để thực thi.
ruaNơi gửi báo cáo tổng hợp
dmarc@example.com
Số liệu hằng ngày về ai gửi thư dưới tên miền của bạn. Một hộp thư bạn đọc, hoặc một dịch vụ báo cáo DMARC.
spTên miền con
news.example.com, mail.example.com…
npTên miền con không tồn tại
Những tên bịa như invoices.example.com, món ưa thích của kẻ giả mạo.
adkimCăn chỉnh
DKIM
SPF
Nới lỏng cho phép mail.example.com được tính cho example.com; nghiêm ngặt đòi đúng tên đó.
Tên miền này không gửi thư
Từ chối tất cả và thêm các bản ghi mà một tên miền đỗ cần.
Báo cáo lỗi và các mục khác
rufNơi gửi báo cáo lỗi
Mỗi thư lỗi một báo cáo. Chúng có thể chứa nội dung thư, và Gmail cùng Microsoft không gửi loại này.
foGửi báo cáo lỗi khi

psd= chỉ dành cho đơn vị vận hành public suffix, nên không được đưa ra.

Điều xảy ra với thư không đạt DMARC

Thư đạt thì không bao giờ bị ảnh hưởng. Với thư không đạt, máy chủ nhận đọc bản ghi của bạn như sau:

Từ example.comexample.com
p=nonequyết định
—
Được chuyểnvà được báo cáo
Từ một tên miền connews.example.com
p=nonequyết định
—
Được chuyểnvà được báo cáo
Từ một tên không tồn tạix7q.example.com
p=nonequyết định
—
Được chuyểnvà được báo cáo

Chính sách là một yêu cầu: máy chủ nhận quyết định cuối cùng. Khi bật Honor DMARC record policy, như Microsoft khuyến nghị, Microsoft 365 từ chối thư lỗi với chính sách reject bằng 550 5.7.1 và đưa thư lỗi với chính sách quarantine vào Junk.

Lộ trình triển khai

  1. 1
    Giám sátp=nonep=none kèm báo cáo, ít nhất một thángbây giờBạn đang ở đây
  2. 2
    Thử nghiệmp=quarantine; t=yquarantine với t=y: tùy chọn
  3. 3
    Cách lyp=quarantineít nhất bằng thời gian bạn đã giám sát 
  4. 4
    Từ chốip=rejectnếu người dùng của bạn không đăng bài lên danh sách thư 

Trước khi bạn công bố

Sẵn sàng để công bố

Một bản ghi, không có gì mà máy chủ nhận sẽ bỏ qua hay đọc sai.

Tốt

Báo cáo của bạn được gửi tới đâu

Máy chủ nhận chỉ gửi báo cáo tới địa chỉ của một tổ chức khác nếu tổ chức đó công bố bản ghi cho phép.

dmarc@example.com ruaTrong example.com: không cần cho phép
OK

Dịch vụ báo cáo công bố một bản ghi bao phủ mọi tên miền, nên địa chỉ của họ thường hiển thị Đã cho phép ngay.

Dán bản ghi này ở đâu?

Chọn nhà cung cấp DNS của bạn: các ô dưới đây được viết đúng như biểu mẫu của họ cần.

Dòng trong tệp zone
_dmarc.example.com. 3600 IN TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com"

Sau khi bạn công bố

Kiểm tra đầy đủ: example.comLiên kết mang các thiết lập này, không bao giờ mang khóa. Hỏi từ trình duyệt của bạn: bộ phân giải của Cloudflare, và của Google để đối chiếu.

Làm thế nào để tạo bản ghi DMARC?

Hãy công bố một bản ghi TXT tên _dmarc tại tên miền của bạn, bắt đầu bằng v=DMARC1, một chính sách và một địa chỉ nhận báo cáo: trình tạo ở trên viết nó cho bạn, và nó có hiệu lực ngay khi nhà cung cấp DNS của bạn trả lời bằng nó.

Hãy kiểm tra thư của bạn đã đạt SPF hoặc DKIM, rồi bắt đầu với p=none và một địa chỉ rua mà bạn đọc: máy chủ nhận vẫn chuyển thư như trước và gửi cho bạn báo cáo hằng ngày về ai gửi thư dưới tên miền của bạn.

Hãy đọc báo cáo ít nhất một tháng, sửa mọi bên gửi hợp lệ đang bị lỗi, rồi mới chuyển sang quarantine và reject. Một bản ghi tại tên miền tổ chức của bạn cũng bao phủ các tên miền con của nó.

  1. 1Công bố tại _dmarc_dmarc.example.com · TXT
    v=DMARC1; p=none; rua=mailto:dmarc@example.com
  2. 2Máy chủ nhận tra cứu nótruy vấn TXT _dmarc.example.com
  3. 3Họ áp dụng chính sách của bạnp=none → đã chuyển
  4. 4Báo cáo gửi về hằng ngàybáo cáo tổng hợp (XML, hằng ngày)dmarc@example.com
Một bản ghi, bốn bước
Trình tạo bản ghi DMARC viết lại bản ghi RFC 7489 đã công bố theo RFC 9989, kèm lộ trình chính sách và quyền nhận báo cáoTrình tạo bản ghi DMARC viết lại bản ghi RFC 7489 đã công bố theo RFC 9989, kèm lộ trình chính sách và quyền nhận báo cáoBắt đầu từ bản ghi bạn đang công bốNút tải đọc _dmarc từ trình duyệt của bạn và điền biểu mẫu; không có gì đi qua máy chủ của chúng tôi.Mỗi tag một màuMỗi phần của bản ghi khớp với thiết lập của nó: rê chuột vào một phần để tìm phần còn lại.Điều gì đã đổi và vì saoCác tag RFC 9989 đã bỏ sẽ bị loại, kèm lý do cho từng tag.Sao chép theo cách nhà cung cấp của bạn cầnHost, loại và giá trị, mỗi mục có nút sao chép, được viết lại cho nhà cung cấp DNS của bạn.Địa chỉ báo cáo, đã được kiểm traĐịa chỉ ở tổ chức khác được đánh dấu, và bản ghi cho phép của nó được kiểm tra trực tiếp.
Một bản ghi đã công bố được tải từ DNS: pct, rf và ri bị bỏ kèm lý do, mỗi tag tô màu giống thiết lập của nó, và một địa chỉ báo cáo ở tổ chức khác được đánh dấu.

Mỗi tag trong bản ghi DMARC có nghĩa là gì?

Một bản ghi DMARC là danh sách các cặp tag=value: v cho biết nó là gì, p cho biết làm gì với thư lỗi, rua cho biết báo cáo gửi đi đâu, còn mọi tag khác chỉ đổi một giá trị mặc định.

RFC 9989 giữ v, p, sp, adkim, aspf, rua, ruf và fo, thêm np (các tên không tồn tại), t (chế độ thử nghiệm) và psd (dành cho đơn vị vận hành public suffix), và bỏ pct, rf và ri.

Chỉ v phải đứng đầu và đúng là DMARC1; các tag RFC 9989 không biết sẽ bị bỏ qua, nên một tag đã bỏ thì vô hại nhưng không có tác dụng.

TagGiá trịMặc địnhCông dụng
vDMARC1bắt buộcĐánh dấu bản ghi; phải đứng đầu
pnone · quarantine · rejectnoneCách máy chủ nhận xử lý thư lỗi từ tên miền
spnone · quarantine · rejectpTương tự, cho các tên miền con có tồn tại
np mớinone · quarantine · rejectsp, rồi pTương tự, cho các tên không tồn tại
t mớiy · nnChế độ thử nghiệm: áp dụng thấp hơn một bậc
ruađịa chỉ mailto:không cóNơi gửi báo cáo tổng hợp hằng ngày
rufđịa chỉ mailto:không cóNơi gửi báo cáo lỗi cho từng thư
fo0 · 1 · d · s0Khi nào gửi báo cáo lỗi
adkimr · srCăn chỉnh DKIM: nới lỏng hoặc nghiêm ngặt
aspfr · srCăn chỉnh SPF: nới lỏng hoặc nghiêm ngặt
psd mớiy · n · uuChỉ dành cho đơn vị vận hành public suffix
pct đã bỏ0–100Đã bỏ: chỉ 0 và 100 hoạt động ổn định
rf đã bỏafrfĐã bỏ: nó chỉ có một giá trị
ri đã bỏgiâyĐã bỏ: báo cáo vốn đã gửi hằng ngày
Các tag của RFC 9989

Nên dùng chính sách DMARC nào: none, quarantine hay reject?

Hãy bắt đầu ở none kèm báo cáo, chuyển sang quarantine khi mọi bên gửi hợp lệ đều đạt, và sang reject khi bạn chắc chắn: RFC 9989 yêu cầu ít nhất một tháng ở none và bằng thời gian đó ở quarantine.

none không đổi gì về việc chuyển thư; quarantine đưa thư lỗi vào thư mục spam; reject từ chối nó. Chính sách là một yêu cầu: máy chủ nhận quyết định cuối cùng.

Các tên miền có người dùng đăng bài lên danh sách thư SHOULD NOT dùng reject, vì các danh sách sửa đổi thư sẽ làm hỏng DMARC của họ. Google gợi ý một lộ trình nhanh hơn (một tuần ở none, rồi một phần nhỏ ở quarantine).

  1. 1
    Giám sátp=none; rua=…ít nhất một thángbây giờĐược chuyển và được báo cáo
  2. 2
    Thử nghiệmp=quarantine; t=ytùy chọnThấp hơn một bậc
  3. 3
    Cách lyp=quarantineít nhất bằng thời gian bạn đã giám sátkhông sớm hơn 27 thg 11, 2026Thư mục spam
  4. 4
    Từ chốip=rejectnếu người dùng của bạn không đăng bài lên danh sách thưkhông sớm hơn 27 thg 12, 2026Bị từ chối
Lộ trình nhanh hơn của Googlenone · 1 tuầnquarantine · một phần nhỏquarantine 100%reject (tùy chọn)
Lộ trình triển khai, với ngày thật tính từ hôm nay

RFC 9989 đã thay đổi gì trong DMARC?

RFC 9989 (tháng 5/2026) thay thế RFC 7489: nó bỏ pct, rf và ri, thêm np, t và psd, và tìm tên miền tổ chức bằng cách đi ngược lên cây DNS thay vì đọc Public Suffix List.

pct=0 giờ được đọc là t=y; mọi pct khác bị bỏ vì máy chủ nhận áp dụng không nhất quán. Hậu tố kích thước báo cáo (!10m) bị bỏ qua.

Cây tra cứu hỏi _dmarc tại tên đó và từng tên cha, tối đa tám câu hỏi, nên một tên rất sâu nên có bản ghi riêng. Các trang trợ giúp của Google và Microsoft vẫn còn mô tả pct.

Trước
v=DMARC1; p=quarantine; pct=0; rua=mailto:dmarc@example.com!10m; rf=afrf; ri=86400
Sau
v=DMARC1; p=quarantine; t=y; rua=mailto:dmarc@example.com
  • pct=0 đã thành t=y
  • đã bỏ rf
  • đã bỏ ri
  • đã bỏ !10m
Cây tra cứu DNS (tree walk)_dmarc.mail.news.example.comNXDOMAIN_dmarc.news.example.comNXDOMAIN_dmarc.example.comv=DMARC1 ✓bản ghi đầu tiên tìm thấy được dùng; tối đa 8 câu hỏi
Một bản ghi RFC 7489 đã công bố, được viết lại

Làm thế nào để gửi báo cáo DMARC tới một dịch vụ khác?

Hãy đặt địa chỉ của dịch vụ vào rua; khi tên miền của nó không phải của bạn, nó phải công bố một bản ghi cho phép có dạng example.com._report._dmarc.reports.example.net (tên miền của bạn, rồi tên miền của họ), điều mà các dịch vụ báo cáo làm một lần cho mọi tên miền bằng wildcard.

Không có bản ghi đó, máy chủ nhận gửi báo cáo tới hư không, và không có gì báo cho bạn biết. Trình tạo kiểm tra trực tiếp từng địa chỉ bên ngoài và hiển thị bản ghi mà chủ của nó phải công bố.

Hãy dùng một hộp thư hoặc dịch vụ được xây cho khối lượng lớn: bên gửi lớn nhận hàng trăm báo cáo mỗi ngày. Báo cáo lỗi (ruf) có thể chứa nội dung thư, và Gmail cùng Microsoft không gửi chúng.

Bản ghi của bạn
v=DMARC1; p=none; rua=mailto:reports@rua.vendor.example.net
hỏi
bản ghi cho phépexample.com._report._dmarc.rua.vendor.example.netTXT "v=DMARC1;"
gửi báo cáo
Dịch vụ báo cáoreports@rua.vendor.example.net

Các dịch vụ báo cáo công bố cho phép bằng wildcard

dmarcianValimailEasyDMARCPostmarkCloudflareMimecast DMARC AnalyzerProofpointAgariRed Sift OnDMARCPowerDMARCSendmarcURIportsReport URIDMARCLYFraudmarcDMARC Report
Ai kiểm tra gì

DMARC cho bên gửi tới Gmail, Yahoo và Outlook.com

Gmail, Yahoo và Outlook.com yêu cầu bên gửi hàng loạt công bố DMARC, và p=none là đủ; tên miền From cũng phải căn chỉnh với SPF hoặc DKIM.

Gmail và Outlook.com tính các bên gửi trên 5000 thư mỗi ngày; Yahoo không nêu ngưỡng. Outlook.com muốn cả SPF và DKIM đều đạt, và từ chối thư lỗi bằng 550 5.7.515.

Logo BIMI cần nhiều hơn: quarantine hoặc reject trên tên miền tổ chức và tên miền From, không có chính sách tên miền con nào ở none.

GmailYahooOutlook.com
TừTháng 2/2024Tháng 2/20245/5/2025
Ai bị tínhhơn 5000 thư mỗi ngàykhông nêu ngưỡnghơn 5000 thư mỗi ngày
DMARCp=none là đủp=none, và phải đạtp=none, có căn chỉnh
SPF và DKIMcả haicả haicả hai phải đạt
Căn chỉnhSPF hoặc DKIMnới lỏng là đượcSPF hoặc DKIM
Yêu cầu của từng nhà cung cấp hộp thư với bên gửi hàng loạt

DMARC cho tên miền không gửi thư

Hãy công bố DMARC p=reject, SPF v=spf1 -all và một null MX, cùng SPF và MX wildcard cho các tên miền con, và hoàn toàn không có bản ghi DKIM: bộ năm 2022 của M3AAWG cho tên miền đỗ.

Khi không gì được phép gửi, reject không thể hại thư thật, và máy chủ nhận từ chối thư giả mạo ngay lập tức. M3AAWG không còn khuyên dùng khóa DKIM rỗng ở đây (lời khuyên năm 2015): đừng công bố bản ghi DKIM nào cả.

Có nhiều tên miền đỗ? Hãy trỏ _dmarc của từng tên tới một bản ghi dùng chung bằng CNAME, để thay đổi sau này chỉ phải làm một lần.

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 .
Kẻ giả mạo gửi dưới tên invoices@example.netBị từ chối: SPF fail, không có DKIM, DMARC nói reject
Bộ bản ghi cho tên miền đỗ example.net

Thêm bản ghi DMARC ở đâu?

Tại nhà cung cấp DNS của bạn, dưới dạng bản ghi TXT tên _dmarc: hầu hết nhà cung cấp tự thêm tên miền của bạn, nên bạn chỉ nhập _dmarc, không bao giờ nhập _dmarc.example.com.

Nhập tên đầy đủ ở nhà cung cấp tự thêm tên miền sẽ tạo ra _dmarc.example.com.example.com, một bản ghi không ai đọc. Hãy chọn nhà cung cấp của bạn trong trình tạo để xem đúng các ô của nó.

Một tên chỉ chứa một bản ghi DMARC: hãy thay bản ghi cũ thay vì thêm bản thứ hai, nếu không máy chủ nhận bỏ qua cả hai.

Nhà cung cấp DNSÔ tênGiá trị dài
Cloudflare_dmarcmột ô: nó tự tách
GoDaddy_dmarcmột ô: nó tự tách
Namecheap_dmarcmột ô: nó tự tách
Squarespace_dmarckhông có tài liệu
Amazon Route 53_dmarcchuỗi có dấu ngoặc kép
Google Cloud DNS_dmarcchuỗi có dấu ngoặc kép
Azure DNS_dmarcmột ô: nó tự tách
DigitalOcean_dmarckhông có tài liệu
Hostinger_dmarckhông có tài liệu
IONOS_dmarckhông có tài liệu
OVHcloud_dmarckhông có tài liệu
Porkbun_dmarckhông có tài liệu
cPanel_dmarcmột ô: nó tự tách
Plesk_dmarckhông có tài liệu
Hetzner_dmarcchuỗi có dấu ngoặc kép
STRATO_dmarckhông có tài liệu
Bluehost_dmarckhông có tài liệu
Nhập gì, theo từng nhà cung cấp

Câu hỏi thường gặp về trình tạo bản ghi DMARC

Bản ghi DMARC là gì?

Bản ghi DMARC là bản ghi TXT tại _dmarc.tên-miền-của-bạn, cho các máy chủ nhận thư biết phải làm gì với thư tự nhận đến từ tên miền của bạn nhưng không đạt căn chỉnh SPF và DKIM, và gửi báo cáo về chúng đi đâu. Nó bắt đầu bằng v=DMARC1 và chứa một chính sách: none, quarantine hoặc reject. RFC 9989, công bố tháng 5/2026, là chuẩn hiện hành.

Bản ghi DMARC đầu tiên của tôi nên là gì?

Hãy bắt đầu với v=DMARC1; p=none; rua=mailto: cộng một địa chỉ bạn đọc. Nó không đổi gì về việc chuyển thư nhưng khiến máy chủ nhận gửi cho bạn báo cáo hằng ngày về mọi máy chủ gửi thư dưới tên miền của bạn. Sau ít nhất một tháng, khi các bên gửi của bạn đã đạt, hãy chuyển sang quarantine, rồi reject, như RFC 9989 gợi ý.

Vì sao không có thiết lập pct?

RFC 9989 bỏ pct vì máy chủ nhận áp dụng các giá trị khác 0 và 100 không nhất quán. Thứ thay thế nó là t=y, chế độ thử nghiệm, yêu cầu máy chủ nhận áp dụng thấp hơn chính sách của bạn một bậc: quarantine hoạt động như none, reject như quarantine. Các trang trợ giúp của Microsoft và Google vẫn còn mô tả pct, nhưng máy chủ nhận theo RFC 9989 bỏ qua nó, nên trình tạo không ghi nó.

Báo cáo DMARC có thể gửi tới Gmail hay Outlook không?

Có, hộp thư nào cũng được, nhưng hộp thư cá nhân đầy rất nhanh: bên gửi lớn nhận hàng trăm báo cáo mỗi ngày. Nếu địa chỉ thuộc tổ chức khác, tên miền đó phải công bố bản ghi cho phép cho tên miền của bạn, nếu không máy chủ nhận không gửi gì. Một hộp thư tại tên miền của chính bạn, hoặc một dịch vụ báo cáo DMARC, tránh được vấn đề này.

Tôi có cần SPF và DKIM trước DMARC không?

Bạn có thể công bố p=none trước mọi thứ khác: các báo cáo cho thấy bên gửi nào cần SPF hoặc DKIM. Trước quarantine hoặc reject, mọi luồng thư hợp lệ phải đạt SPF hoặc DKIM căn chỉnh với tên miền From của bạn. RFC 9989 khuyến nghị cả hai, và tên miền ở reject nên ký DKIM, vì việc chuyển tiếp làm hỏng SPF.

rua và ruf khác nhau thế nào?

rua nhận báo cáo tổng hợp: bản tóm tắt XML hằng ngày đếm thư theo máy chủ gửi và kết quả, không có nội dung thư. ruf nhận báo cáo lỗi về từng thư riêng lẻ, có thể gồm header hoặc nội dung. Nhiều nhà cung cấp lớn, gồm Gmail và Microsoft, không gửi báo cáo lỗi, nên rua mới là loại quan trọng; ruf là tùy chọn.

Tôi có nên dùng căn chỉnh nghiêm ngặt không?

Thường là không. Căn chỉnh nới lỏng cho phép thư được ký hoặc bounce qua một tên miền con, như bounce.example.com, được tính cho example.com, đúng là cách SendGrid, Amazon SES và Mailgun gửi. Căn chỉnh nghiêm ngặt đòi đúng tên miền và làm các thư đó lỗi. Nghiêm ngặt có ngăn người kiểm soát DNS của một tên miền con giả làm tên miền cha, nên hợp với các tên miền được vận hành chặt chẽ.

sp và np làm gì?

sp đặt chính sách cho các tên miền con có tồn tại, như news.example.com, còn np cho các tên hoàn toàn không tồn tại, như invoices.example.com bịa ra. Không có chúng, các tên miền con theo p. Đặt np=reject chỉ ảnh hưởng thư lỗi từ các tên bạn chưa từng tạo, đúng là cách kẻ giả mạo thường cố lách qua chính sách yếu hơn của tên miền cha.

Bản ghi DMARC mất bao lâu để có hiệu lực?

Nó có hiệu lực ngay khi máy chủ của nhà cung cấp DNS trả lời bằng nó, thường trong vài phút sau khi lưu. Một máy chủ nhận vừa hỏi ngay trước đó có thể nhớ câu trả lời cũ cho đến khi hết thời gian lưu đệm. Báo cáo đến khoảng một ngày sau, vì máy chủ nhận gửi chúng 24 giờ một lần. Hãy dùng Kiểm tra đã công bố chưa trong trình tạo để xem DNS đang trả lời gì.

Trình tạo DMARC có miễn phí không, và tên miền của tôi có bị lưu không?

Nó miễn phí, không cần đăng ký. Bản ghi được tạo trong trình duyệt của bạn, và việc tải bản ghi hiện tại hỏi bộ phân giải của Cloudflare (và của Google khi Cloudflare chậm) qua HTTPS trực tiếp từ trình duyệt, nên tên miền của bạn không đi qua máy chủ của chúng tôi. Trình tạo không bao giờ thêm địa chỉ báo cáo của chúng tôi: mọi địa chỉ trong bản ghi đều do bạn nhập.