Kiểm tra SPF, DKIM, DMARC API

Đánh giá cấu hình email của tên miền: MX, SPF (giới hạn 10 lượt tra), khóa DKIM, chính sách DMARC, MTA-STS, TLS-RPT, BIMI, kèm điểm số và cách sửa.

GEThttps://apibox.io.vn/v1/email-auth
Mạng & Kiểm tra▶ Dùng thử online

API kiểm tra xác thực email cho biết tên miền đã được cấu hình để gửi thư tới hộp thư đến và chống giả mạo chưa, những yêu cầu mà Gmail, Yahoo và Outlook hiện bắt buộc với người gửi số lượng lớn. API đọc bản ghi MX, bản ghi SPF (phát hiện bản ghi trùng, +all / ?all, cơ chế ptr lỗi thời và đếm số lượt tra DNS qua mọi include so với giới hạn 10), khóa DKIM ở selector của bạn hoặc khoảng 20 selector phổ biến (Google, Microsoft 365, Mailchimp, SendGrid, Resend, Zoho…) kèm độ dài khóa, và chính sách DMARC cùng địa chỉ nhận báo cáo.

Các bản ghi tuỳ chọn cũng được báo cáo: MTA-STS và TLS-RPT cho việc nhận thư mã hoá, BIMI để hiện logo thương hiệu trong hộp thư. Mỗi phát hiện là một mục kiểm tra có trạng thái (pass, info, warn, fail) và thông báo bằng tiếng Anh hoặc tiếng Việt (lang=vi) nói rõ cần sửa gì; điểm từ 0 đến 100 và xếp hạng A–F cho cái nhìn nhanh.

Selector DKIM không tra được từ DNS: nếu nhà cung cấp dùng selector riêng, hãy xem thẻ s= trong header DKIM-Signature của một email đã gửi và truyền vào selectors=. Bản ghi được đọc trực tiếp qua DNS-over-HTTPS (cache 5 phút).

Tham số

TênVị tríKiểuBắt buộcMặc định
domainquerystringcóTên miền (hoặc một địa chỉ email).
selectorsquerystringkhôngCác selector DKIM cần kiểm tra, phân cách bằng dấu phẩy (mặc định: ~20 selector phổ biến).
langquerystringkhôngenNgôn ngữ thông báo: en hoặc vi.

Ví dụ

curl "https://apibox.io.vn/v1/email-auth?domain=github.com" \
  -H "Authorization: Bearer YOUR_API_KEY"

Kết quả trả về

{
  "domain": "github.com",
  "score": 90,
  "grade": "A",
  "summary": {
    "passed": 5,
    "info": 3,
    "warnings": 2,
    "errors": 0
  },
  "mx": [
    {
      "preference": 1,
      "host": "aspmx.l.google.com"
    }
  ],
  "spf": {
    "record": "v=spf1 ip4:192.30.252.0/22 include:spf.protection.outlook.com … ~all",
    "all": "softfail",
    "dns_lookups": 10,
    "includes": [
      "spf.protection.outlook.com",
      "_netblocks.google.com",
      "…"
    ]
  },
  "dmarc": {
    "record": "v=DMARC1; p=quarantine; …",
    "p": "quarantine"
  },
  "dkim": [
    {
      "selector": "google",
      "key_type": "rsa",
      "key_bits": 2048,
      "revoked": false,
      "testing": false
    },
    {
      "selector": "selector1",
      "key_type": "rsa",
      "key_bits": 1024,
      "revoked": false,
      "testing": false
    }
  ],
  "checks": [
    {
      "id": "spf_lookups",
      "status": "warn",
      "message": "10/10 DNS lookups",
      "value": 10
    },
    {
      "id": "dmarc",
      "status": "pass",
      "message": "DMARC policy \"p=quarantine\""
    },
    {
      "id": "dkim_key",
      "status": "warn",
      "message": "RSA key shorter than 2048 bits at selector1, k1"
    },
    "…"
  ]
}

Ứng dụng

  • Kiểm tra khi khách hàng kết nối tên miền vào dịch vụ gửi email, CRM
  • Sửa lỗi “email vào spam” trước chiến dịch
  • Theo dõi tên miền của khách hàng tại agency, đơn vị IT
  • Xác nhận cấu hình DNS sau khi đổi nhà cung cấp email

Hỏi đáp

Vì sao SPF lỗi vì quá nhiều lượt tra?

RFC 7208 chỉ cho phép tối đa 10 lượt tra DNS (include, a, mx, ptr, exists, redirect) khi đánh giá SPF; vượt quá thì máy nhận trả permerror và SPF thất bại. API đếm đệ quy; hãy bỏ các include không dùng hoặc làm phẳng chúng.

p=none đã đủ chưa?

Đủ yêu cầu tối thiểu của Gmail và Yahoo nhưng không chặn được giả mạo. Hãy đọc báo cáo (rua=) rồi chuyển sang p=quarantine hoặc p=reject.

Báo không tìm thấy DKIM dù tôi có ký email.

Nhà cung cấp có thể dùng selector riêng. Tìm giá trị s= trong header DKIM-Signature của một email nhận được và truyền selectors=giá-trị-đó.

API liên quan

Bắt đầu với 1.000 request miễn phí mỗi tháng. Nhận API key miễn phí →