本頁內容

郵件與網域

檢查 DMARC

API · Pro

涵蓋範圍: 適用於任何國家的網域。我們會像收件伺服器一樣尋找記錄:先找網域本身,如果沒有,再找它的上層網域(最多五層)。報告的收件地址只會顯示其網域。

開啟工具
本頁內容

用途

檢查網域的 DMARC 記錄:它的政策(none、quarantine 或 reject)、是否來自上層網域、適用的郵件比例、對齊方式,以及報告寄往何處。

使用要求

任何 NoCall 帳號都可以閱讀這些指南。部分工具需要 Pro,各指南會註明。

DMARC 會告訴收件伺服器,該如何處理自稱來自某個網域、卻未通過其驗證的郵件:照常投遞、送進垃圾郵件,或直接拒收。輸入網域、電子郵件地址或連結,我們會顯示它的 DMARC 政策及其意義。

使用步驟

  1. 輸入你要檢查的網域,或貼上電子郵件地址或連結:我們只會使用其中的網域。

  2. 按下「檢查 DMARC」。我們會像收件伺服器一樣,在 _dmarc 尋找它的記錄;如果沒有,再到它的上層網域尋找。

  3. 看看政策:對 100% 的郵件套用「reject」或「quarantine」,才能保護網域;「none」只是監看。

虛構範例

說明

此範例為虛構內容,並非真實查詢。請勿撥打電話或開啟其中的連結。

虛構範例
v=DMARC1; p=reject; rua=mailto:[email protected]

理解結果

這個網域沒有 DMARC: 它沒有要求收件端攔下假冒它的郵件,因此更容易被冒充。

DMARC 記錄有錯誤: 收件端可能會忽略它,讓這個網域如同沒有 DMARC。下方的訊號會說明問題所在。

DMARC 只是監看: 政策是「none」:網域會收到報告,但以它的名義寄出的假郵件仍會被投遞。

DMARC 只保護部分郵件: 政策只套用在部分未通過驗證的郵件上;其餘郵件會像沒有政策一樣照常投遞。

假郵件會被送進垃圾郵件: 政策是「quarantine」:收件端會把未通過驗證的郵件送進垃圾郵件匣。

假郵件會被拒收: 政策是「reject」:收件端會拒收假冒這個網域的郵件。這是最強的保護。

none:僅監看

quarantine:送進垃圾郵件

reject:拒絕投遞

限制

注意

我們讀取的是該網域的公開 DNS 記錄。如果你輸入電子郵件地址或連結,只有其中的網域會離開你的瀏覽器。你查詢的網域不會被儲存。

疑難排解

這看起來不像公開的網域。請試試類似 example.com 的網域。

DNS 沒有及時回應。請過幾秒再試。

你連續做了很多次檢查。請等一分鐘後再試。

透過 API 使用

注意

需要 API 金鑰和點數。每次完成的呼叫扣 1 點,即使沒有資料也一樣。有效的 Pro 帳戶每個 UTC 曆月包含 20 點,由所有 API 路由共用並優先扣用;當月未使用的點數不會累積到下個月。在帳戶頁面購買的點數不需 Pro 即可使用,且永不過期。

說明

錯誤一律不扣點:401 invalid_api_key(缺少金鑰或金鑰無效)、403 pro_required(沒有 Pro 點數,也沒有購買的點數)、422 輸入無效、429 quota_exceeded(點數用完)、rate_limit_exceeded 或 ai_busy(sms-check 的 AI 已達負載上限)、503 tool_warming(資料仍在準備中)或 tool 或供應商無法使用。收到 429 或 503 後,請等 Retry-After 標頭中的秒數過後再重試。

網域的 DMARC 政策(RFC 7489,並依 DMARCbis 逐層向上查找上層網域):記錄、找到記錄的位置、實際生效的政策(none、quarantine 或 reject)、百分比、DKIM 和 SPF 的對齊方式,以及接收報告的網域,絕不傳回完整地址。不儲存任何內容。

將 JSON 主體傳送到該 tool 專屬的路由,或加上 tool 欄位後傳送到 POST /v2/tools。兩種路由回傳的結果相同。

端點
POST https://api.nocall.io/v2/dmarc-check
POST https://api.nocall.io/v2/tools  {"tool":"dmarc-check","domain":"example.com"}

參數

名稱類型必填說明
domainstring (1–320)是網域,或會從中取出網域的電子郵件地址或連結,最多 320 個字元。僅限公開名稱:IP 位址、單一標籤名稱和特殊用途名稱(.local、.internal、.test…)會傳回 422。
bash
REQUEST_ID="$(uuidgen)" && [ -n "$REQUEST_ID" ] &&
curl --request POST 'https://api.nocall.io/v2/dmarc-check' \
  --header "Authorization: Bearer $NOCALL_API_KEY" \
  --header 'Content-Type: application/json' \
  --header "Idempotency-Key: $REQUEST_ID" \
  --data '{"domain":"example.com"}'

回應範例(200)

這是 API 參考文件中的範例。查詢使用虛構號碼,彙總資料和 AI 回答只呈現結果的結構,並非即時資料。

JSON
{
  "data": {
    "tool": "dmarc-check",
    "result": {
      "domain": "example.com",
      "domainAscii": "example.com",
      "found": true,
      "record": "v=DMARC1; p=none; rua=mailto:[email protected]",
      "foundAt": "example.com",
      "inherited": false,
      "policy": "none",
      "subdomainPolicy": null,
      "effectivePolicy": "none",
      "percentage": 100,
      "alignment": {
        "dkim": "relaxed",
        "spf": "relaxed"
      },
      "reports": {
        "aggregate": [
          "example.com"
        ],
        "failure": []
      },
      "signals": [
        "policy_none"
      ],
      "valid": true,
      "attention": true
    }
  },
  "meta": {
    "requestId": "req_example",
    "unitsCharged": 1,
    "usage": {
      "periodStart": "2026-10-01",
      "unitLimit": 20,
      "unitsUsed": 3,
      "unitsRemaining": 17
    }
  }
}

結果欄位(data.result)

欄位類型說明
domainstringUnicode 形式的網域。
domainAsciistring同一個網域的 ASCII 形式(punycode),即 DNS 所見的形式。
foundboolean是否有 DMARC 記錄適用於該網域(它自己的或上層網域的)。
recordstring | nullDMARC 記錄;沒有或不只一筆時為 null。
foundAtstring | null所套用之 _dmarc 記錄所屬的網域(本網域或上層網域),以 Unicode 表示。
inheritedboolean記錄是否屬於上層網域(DMARCbis 樹狀查找)。
policy"none" | "quarantine" | "reject" | nullp= 標籤:none、quarantine 或 reject。
subdomainPolicy"none" | "quarantine" | "reject" | nullsp= 標籤,或 null。
effectivePolicy"none" | "quarantine" | "reject" | null實際套用於本網域的政策:p;記錄為繼承而來時則為 sp。
percentageinteger (0–100)pct:政策所套用之未通過郵件的比例;未設定時為 100。
alignmentobjectDKIM 和 SPF 的對齊方式(adkim 和 aspf):relaxed 或 strict。
reportsobject接收彙總報告(rua)和失敗報告(ruf)的網域;絕不傳回完整地址。
signalsarray<"no_dmarc" | "multiple_records" | "syntax_error" | "policy_none" | "partial_percentage" | "no_aggregate_reports" | "inherited" | "weaker_subdomain_policy">no_dmarc、multiple_records、syntax_error、policy_none、partial_percentage、no_aggregate_reports、inherited 或 weaker_subdomain_policy。
validboolean記錄是否能解析且設有政策。
attentionboolean結果是否值得進一步查看:沒有 DMARC、記錄無效、政策為 none,或百分比低於 100。

常見問題

什麼是 DMARC?

Domain-based Message Authentication, Reporting and Conformance:一種 DNS 記錄,告訴收件端如何處理在「寄件者」中使用某個網域、但 SPF 和 DKIM 都未通過的郵件。它也會要求寄送報告,讓擁有者看到誰以這個網域的名義寄信。

none、quarantine 和 reject 是什麼意思?

「none」只監看:郵件照常投遞,擁有者會收到報告。「quarantine」會把未通過驗證的郵件送進垃圾郵件。「reject」則直接拒收。網域通常先從「none」開始,閱讀報告後再逐步提高到「reject」。

網域有 DMARC,就代表它的郵件都是真的嗎?

不是。DMARC 讓人很難在「寄件者」中使用那個一模一樣的網域,但詐騙者可以註冊一個相似的網域,並設定它自己的 DMARC。請逐字檢查寄件者的網域,或把郵件標頭貼到「這封郵件是真的嗎?」。

為什麼顯示記錄是繼承來的?

沒有自己記錄的子網域(mail.example.com)會使用上層網域(example.com)的記錄;如果該記錄設有子網域政策(sp),則套用該政策。