Chuyển tiếp
- SPF192.0.2.80 không có trong SPF của example.com
- DKIMchữ ký còn nguyên
Báo cáo cho thấyspf=fail dkim=pass → pass
Ký DKIM mọi thư; DKIM sống sót qua chuyển tiếp. ARC (RFC 8617) giúp bên chuyển tiếp bảo chứng.
Giao diện
Kiểm tra bản ghi DMARC của mọi tên miền giống cách một máy chủ thư nhận đọc nó: chính sách được tìm thấy ở đâu, thư không qua được sẽ bị xử lý ra sao, báo cáo có đến tay ai không, và SPF cùng DKIM cần gì trước khi bạn thực thi.
Hãy nhập một tên miền ở trên: công cụ hỏi DNS bản ghi TXT tại _dmarc. cộng với tên miền, đi ngược lên tên miền tổ chức khi không có (RFC 9989 §4.10), và cho thấy máy chủ nhận làm gì với thư không qua được.
Làm thủ công thì hỏi đúng tên đó: dig +short TXT _dmarc.paypal.com, hoặc nslookup -type=TXT _dmarc.paypal.com trên Windows. Một câu trả lời bắt đầu bằng v=DMARC1 là bản ghi; hai câu trả lời nghĩa là máy chủ nhận không dùng cái nào (RFC 9989 §4.10).
dig dừng ở đó. Nó không đi ngược lên từ một tên miền con, không kiểm tra xem các địa chỉ báo cáo có chịu nhận báo cáo không, cũng không cho biết máy chủ nhận theo RFC nào. Đó là phần công cụ này bổ sung.
dig +short TXT _dmarc.example.comMọi câu trả lời tại tên đó. Câu bắt đầu bằng v=DMARC1 là bản ghi.
Điều dig cho thấy, và điều nó không cho thấy
$ dig +short TXT _dmarc.paypal.com 1
"v=DMARC12; p=reject; rua=mailto:d@rua.agari.com,mailto:dmarc_agg@vali.email; ruf=mailto:d@ruf.agari.com,mailto:MTc4Mzcw@ruf.vali.email3"
$ dig TXT _dmarc.mail.google.com | grep status 4
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN
Câu trả lời đến trước, dưới dạng một câu. Bên dưới là bằng chứng: bản ghi như máy chủ nhận phân tích, mỗi tag được tô màu đúng trên các ký tự của nó, và trên nền xanh navy là đường đi mà một máy chủ nhận theo cho tên miền này, kết thúc ở điều nó làm với thư không qua được.
Không chấm điểm: chính sách ở none là một giai đoạn, không phải một thất bại, và chặng đường bên dưới đường đi cho biết bước tiếp theo cần gì.

Kết luậnMột câu về điều máy chủ nhận làm với thư không qua được, kèm chính sách, SPF và DKIM nhìn lướt qua.Bản ghiMỗi tag được tô màu trên các ký tự của nó: di chuột hoặc chạm vào một tag để biết nó làm gì. Giá trị mặc định ở bên dưới.Góc nhìn của máy chủ nhậnMọi câu hỏi DNS mà một máy chủ nhận hỏi cho tên miền, theo thứ tự, kèm câu trả lời.Thư không qua được DMARCMáy chủ nhận làm gì với tên miền, các tên miền con đang tồn tại và các tên không tồn tại.Chặng đường thực thiTên miền đang ở đâu giữa none và reject, và bước tiếp theo cần gì.DMARC cho các máy chủ thư nhận biết phải làm gì với thư dùng tên miền của bạn ở dòng From: nhưng không chứng minh được nó đến từ bạn, và gửi báo cáo về chúng đi đâu (RFC 9989 §4.7).
Bằng chứng là SPF hoặc DKIM, căn chỉnh (aligned) với tên miền From:: SPF pass cho một tên miền bounce trong cùng tổ chức, hoặc một chữ ký DKIM có d= là tên miền của bạn. Một kết quả pass đã căn chỉnh là đủ (RFC 9989 §5.3.5); mọi trường hợp khác đều không qua được DMARC, và chính sách trong bản ghi quyết định: chuyển đi, đưa vào thư rác hoặc từ chối.
Báo cáo là nửa còn lại. Các máy chủ nhận tôn trọng rua gửi bản tóm tắt hằng ngày về mọi máy chủ đã gửi thư dưới danh nghĩa tên miền của bạn, nhờ đó bạn tìm ra các bên gửi hợp lệ mình đã quên trước khi thực thi.
Hai thư, một dòng From:
Hóa đơn của bạn, gửi qua một dịch vụ emailqua một dịch vụ được thiết lập DKIM tùy chỉnh, nên nó ký bằng d=example.com
Một hóa đơn giả từ 203.0.113.9một máy chủ mà example.com chưa bao giờ cho phép
550 5.7.1 Email rejected per DMARC policy for example.com
Báo cáo tổng hợp ngày mai gửi tới dmarc@example.com: 1 thư từ 203.0.113.9, SPF fail, không có DKIM, xử lý reject.
p=none yêu cầu máy chủ nhận chuyển thư không qua được như bình thường và chỉ báo cáo; quarantine yêu cầu coi nó là đáng ngờ, thường là cho vào thư rác; reject yêu cầu từ chối nó ngay trong phiên SMTP.
None là một giai đoạn, không phải một thất bại: RFC 9989 §7.4 gợi ý ở đó ít nhất một tháng với báo cáo đều đặn, và thêm ngần ấy thời gian ở quarantine, rồi mới lên reject. Các tên miền có người đăng bài lên danh sách thư nên dừng ở quarantine.
Các nhà cung cấp hộp thư lớn cũng chia khác nhau: gmail.com và outlook.com công bố p=none cho chính tên miền và sp=quarantine cho các tên miền con, trong khi google.com, yahoo.com và microsoft.com công bố reject.
Một thư giả mạo kết thúc ở đâu
Chuyển đip=none
apache.orggmail.comsamsung.com
23 trên 192
Thư rácp=quarantine
github.comapple.comamazon.com
30 trên 192
Bị từ chốip=reject
google.compaypal.commicrosoft.com
139 trên 192
Có, nếu bạn gửi hàng loạt tới Gmail, Yahoo hoặc Outlook.com: cả ba đều yêu cầu bản ghi DMARC, và p=none là đủ để đạt quy tắc. Thực thi (quarantine hoặc reject) mới là thứ ngăn người khác gửi thư dưới danh nghĩa tên miền của bạn, và logo BIMI cũng cần nó.
Gmail yêu cầu từ 1 tháng 2, 2024 với bên gửi hơn 5.000 thư mỗi ngày tới các tài khoản Gmail; Yahoo từ tháng 2 năm 2024, không nêu khối lượng; Outlook.com từ 5 tháng 5, 2025, với hơn 5.000 thư mỗi ngày. Khi không có bản ghi, Gmail trả lời 4.7.31 (và 4.7.32 khi From: không căn chỉnh), còn Outlook.com từ chối với 550 5.7.515.
Với một tên miền không gửi gì, DMARC là cách bảo vệ rẻ nhất: p=reject, một null MX và v=spf1 -all, như example.com công bố (M3AAWG).
Mỗi nhà cung cấp hộp thư yêu cầu gì ở bên gửi hàng loạt
4.7.31 · 4.7.32DMARC phải pass550 5.7.515✓Bắt buộc: một bản ghi, p=none hoặc chặt hơniBảo vệ: quarantine hoặc reject
Hãy tìm nguồn gửi bị lỗi trong các báo cáo tổng hợp, rồi sửa ở phía bên gửi: ký nó bằng DKIM cho tên miền của chính bạn, hoặc chuyển nó sang một tên miền bounce trong tổ chức của bạn. Ba nguyên nhân bao phủ phần lớn các lỗi.
Chuyển tiếp giữ nguyên chữ ký DKIM nhưng làm hỏng SPF, nên DKIM gánh việc pass. Danh sách thư chỉnh sửa nội dung làm hỏng cả hai. Còn một dịch vụ email ký bằng tên miền riêng của nó thì pass DKIM cho chính nó, không phải cho bạn: hãy bật DKIM tùy chỉnh của dịch vụ (thường là các CNAME như s1._domainkey) và một return path tùy chỉnh.
Ba lỗi, điều báo cáo cho thấy, và cách sửa
Báo cáo cho thấyspf=fail dkim=pass → pass
Ký DKIM mọi thư; DKIM sống sót qua chuyển tiếp. ARC (RFC 8617) giúp bên chuyển tiếp bảo chứng.
Báo cáo cho thấyspf=fail dkim=fail → fail
Các danh sách viết lại From: tự khắc phục; các tên miền có người đăng lên danh sách thì dừng ở quarantine (RFC 9989 §7.4).
Báo cáo cho thấydkim=pass(esp.example) → fail
Bật DKIM tùy chỉnh của nhà cung cấp: s1 và s2 của paypal.com là các CNAME trỏ tới SendGrid, nơi ký với tư cách paypal.com.
Một tên miền con không có bản ghi riêng nhận chính sách của tên miền tổ chức: sp cho các tên miền con đang tồn tại, np cho các tên không tồn tại, mỗi cái lùi về p (RFC 9989 §4.7).
Một tên miền con công bố bản ghi riêng thì dùng nó cho chính mình. Nhưng một bản ghi nằm giữa một tên và tên miền tổ chức của nó không bao giờ được dùng cho tên đó: cây của berkeley.edu cho thấy điều này, khi sp=none của eecs.berkeley.edu không tới được www.eecs.berkeley.edu (RFC 9989 §4.10.1).
np là chiến thắng rẻ: các tên không tồn tại không gửi thư thật, nên np=reject chặn thư giả mạo từ chúng ngay cả khi p vẫn ở none. Máy chủ nhận theo RFC 7489 không biết np và dùng sp.
Cây của berkeley.edu, như một máy chủ nhận đọc
sp=none của eecs.berkeley.edu không bao giờ được áp dụng: một bản ghi nằm giữa một tên và tên miền tổ chức của nó không được dùng cho tên đó (RFC 9989 §4.10.1). Công cụ đánh dấu nó là một bản ghi không được dùng.
Báo cáo tổng hợp là một tệp XML hằng ngày từ mỗi máy chủ nhận, liệt kê mọi máy chủ đã gửi thư dưới danh nghĩa tên miền của bạn, bao nhiêu thư, và SPF, DKIM, DMARC có pass không (RFC 9990).
Hãy đọc theo từng nguồn: máy chủ và dịch vụ của chính bạn nên cho thấy pass đã căn chỉnh; một dịch vụ quen thuộc bị fail cần DKIM tùy chỉnh của nó; một địa chỉ lạ bị fail ở p=reject là giả mạo, đã bị chặn. Một dịch vụ báo cáo (dmarcian, Valimail, EasyDMARC, Postmark và những dịch vụ khác) biến hàng nghìn tệp thành danh sách đó.
Báo cáo gửi tới địa chỉ ở tên miền khác chỉ đến nơi nếu tên miền đó đồng ý: nó công bố yourdomain._report._dmarc.its-host với v=DMARC1 (RFC 9990 §4). Công cụ hỏi giúp bạn, và đưa đúng bản ghi cần có khi nó thiếu.
Một báo cáo, đọc từng dòng
<org_name>google.com</org_name>1
<date_range>00:00 UTC 23 thg 10 – 00:00 UTC 24 thg 10</date_range>
<policy_published>example.com · p=reject</policy_published>2
<source_ip>198.51.100.24</source_ip> <count>412</count> dkim=pass spf=fail → none3
<source_ip>203.0.113.9</source_ip> <count>37</count> dkim=fail spf=fail → reject4
paypal.com._report._dmarc.rua.agari.com TXT "v=DMARC1;"✓ đã ủy quyền: báo cáo được gửiCác dịch vụ báo cáo mà công cụ nhận radmarcianValimailEasyDMARCPostmarkCloudflareMimecastProofpointAgariRed SiftPowerDMARC+6 nữa
Xác thực bản ghi SPF và kiểm tra số lượng tra cứu DNS theo RFC 7208
Xác minh bản ghi DKIM với tự động phát hiện selector
Kiểm tra bản ghi BIMI, logo SVG Tiny PS, chứng chỉ VMC và hộp thư nào hiện logo
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.
Phân tích header email thô và theo dõi hành trình email
Tìm bản ghi trao đổi thư và chi tiết máy chủ thư