郵件與網域
查詢 MX 記錄
涵蓋範圍: 適用於任何國家的網域,包括含重音符號或使用其他文字的名稱。我們能辨識出的供應商包括:各大電子郵件服務(Google、Microsoft 365、Yahoo、iCloud、Zoho、Proton、Fastmail、GMX、IONOS、OVHcloud、Yandex、Mail.ru、QQ、網易(NetEase)和 Naver)、Amazon SES,以及主要的郵件安全過濾服務(Mimecast、Proofpoint、Barracuda 和 Cisco)。
開啟工具本頁內容
用途
查出網域是否接收電子郵件、使用哪些郵件伺服器(它的 MX 記錄,依優先順序排列),以及由哪家供應商營運:Google、Microsoft 365、Zoho、Proton 等。
使用要求
任何 NoCall 帳號都可以閱讀這些指南。部分工具需要 Pro,各指南會註明。
每個接收電子郵件的網域,都會在 DNS 的 MX 記錄中列出自己的郵件伺服器。輸入網域、電子郵件地址或連結,我們會告訴你它能否接收電子郵件、由哪些伺服器處理,以及這些伺服器由誰營運。我們只讀取公開的 DNS。
使用步驟
輸入網域(例如 example.com),或貼上電子郵件地址或連結:我們只會使用其中的網域。
按下「查詢 MX」。我們會在公開 DNS 中讀取該網域的 MX 記錄,並確認每台伺服器都有位址。
查看結果:網域是否接收電子郵件、依嘗試順序排列的伺服器,以及背後的供應商。
虛構範例
此範例為虛構內容,並非真實查詢。請勿撥打電話或開啟其中的連結。
example.com理解結果
這個網域會接收電子郵件: 它在 DNS 中列出了自己的郵件伺服器,所以寄到這個網域地址的郵件有地方可以送達。
它會接收電子郵件,但有地方出了問題: 它列出了郵件伺服器,但至少有一台設定錯誤,因此有些郵件可能會延遲或遺失。
這個網域不接收電子郵件: 它沒有列出郵件伺服器,或聲明不接受任何電子郵件。寄到這個網域地址的郵件不會送達。
這個網域不存在: 它沒有註冊,或沒有 DNS。沒有人能用它收信,所以若有郵件自稱來自這個網域,請提高警覺。
優先順序數字較小的伺服器會先被嘗試;其他則是備援。
限制
我們讀取的是該網域的公開 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 標頭中的秒數過後再重試。
網域是否接收電子郵件:依優先順序排列的 MX 伺服器、每台伺服器是否有位址、null MX 或隱含 MX,以及營運這些伺服器的供應商(google、microsoft、zoho、proton、amazon_ses 等)。接受網域、電子郵件地址或連結。僅使用公開 DNS;不儲存任何內容。
將 JSON 主體傳送到該 tool 專屬的路由,或加上 tool 欄位後傳送到 POST /v2/tools。兩種路由回傳的結果相同。
POST https://api.nocall.io/v2/mx-lookup
POST https://api.nocall.io/v2/tools {"tool":"mx-lookup","domain":"example.com"}參數
| 名稱 | 類型 | 必填 | 說明 |
|---|---|---|---|
| domain | string (1–320) | 是 | 網域,或會從中取出網域的電子郵件地址或連結,最多 320 個字元。僅限公開名稱:IP 位址、單一標籤名稱和特殊用途名稱(.local、.internal、.test…)會傳回 422。 |
REQUEST_ID="$(uuidgen)" && [ -n "$REQUEST_ID" ] &&
curl --request POST 'https://api.nocall.io/v2/mx-lookup' \
--header "Authorization: Bearer $NOCALL_API_KEY" \
--header 'Content-Type: application/json' \
--header "Idempotency-Key: $REQUEST_ID" \
--data '{"domain":"example.com"}'import json
import os
import urllib.request
import uuid
api_key = os.environ.get('NOCALL_API_KEY')
if not api_key:
raise SystemExit('Set NOCALL_API_KEY')
request = urllib.request.Request(
'https://api.nocall.io/v2/mx-lookup',
method='POST',
data=json.dumps({'domain': 'example.com'}).encode(),
headers={
'Authorization': 'Bearer ' + api_key,
'Content-Type': 'application/json',
'Idempotency-Key': str(uuid.uuid4()),
},
)
with urllib.request.urlopen(request, timeout=30) as response:
result = json.load(response)
print(result['data']['result'], result['meta']['unitsCharged'])import { randomUUID } from 'node:crypto';
const requestId = randomUUID();
const apiKey = process.env.NOCALL_API_KEY;
if (!apiKey) throw new Error('Set NOCALL_API_KEY');
const response = await fetch('https://api.nocall.io/v2/mx-lookup', {
method: 'POST',
headers: {
Authorization: 'Bearer ' + apiKey,
'Content-Type': 'application/json',
'Idempotency-Key': requestId,
},
body: JSON.stringify({ domain: 'example.com' }),
});
const result = await response.json();
if (!response.ok) throw new Error(result.error?.code ?? 'request_failed');
console.log(result.data.result, result.meta.unitsCharged);回應範例(200)
這是 API 參考文件中的範例。查詢使用虛構號碼,彙總資料和 AI 回答只呈現結果的結構,並非即時資料。
{
"data": {
"tool": "mx-lookup",
"result": {
"domain": "example.com",
"domainAscii": "example.com",
"found": true,
"records": [
{
"priority": 1,
"host": "aspmx.l.google.com"
},
{
"priority": 5,
"host": "alt1.aspmx.l.google.com"
}
],
"nullMx": false,
"implicitMx": false,
"acceptsMail": true,
"provider": "google",
"signals": [],
"attention": false
}
},
"meta": {
"requestId": "req_example",
"unitsCharged": 1,
"usage": {
"periodStart": "2026-10-01",
"unitLimit": 20,
"unitsUsed": 3,
"unitsRemaining": 17
}
}
}結果欄位(data.result)
| 欄位 | 類型 | 說明 |
|---|---|---|
| domain | string | Unicode 形式的網域。 |
| domainAscii | string | 同一個網域的 ASCII 形式(punycode),即 DNS 所見的形式。 |
| found | boolean | 網域是否存在於 DNS 中。false 仍是完成的結果。 |
| records | array<object> | MX 伺服器,以 priority 和 host 表示,優先順序值最小者(最先嘗試)排在最前。null MX 時為空。 |
| nullMx | boolean | 網域是否發布「MX 0 .」(RFC 7505):表示它不接收電子郵件。 |
| implicitMx | boolean | 沒有 MX 記錄,但網域本身有位址,因此郵件會投遞到該位址(RFC 5321)。 |
| acceptsMail | boolean | 網域是否能接收電子郵件:有 MX 伺服器或隱含 MX,且沒有 null MX。 |
| provider | string (enum, 20) | null | 依郵件伺服器名稱判斷的營運者:google、microsoft、yahoo、icloud、zoho、proton、fastmail、gmx、ionos、ovh、yandex、mailru、qq、netease、naver、mimecast、proofpoint、barracuda、cisco 或 amazon_ses;無法辨識時為 null。 |
| signals | array<"domain_not_found" | "no_mx" | "null_mx" | "implicit_mx" | "single_mx" | "mx_without_address" | "mx_ip_literal"> | domain_not_found、no_mx、null_mx、implicit_mx、single_mx、mx_without_address 或 mx_ip_literal。 |
| attention | boolean | 結果是否值得進一步查看:網域不接收電子郵件,或有伺服器設定錯誤。 |
常見問題
什麼是 MX 記錄?
這是告訴其他伺服器要把某個網域的郵件投遞到哪裡的 DNS 記錄。一個網域可以有好幾筆,每筆都有優先順序:數字最小的會先被嘗試,其他則是備援。
如果網域沒有 MX 記錄會怎樣?
通常代表它不接收電子郵件。有些伺服器仍會嘗試網域本身的位址,這樣行得通,但對真正使用電子郵件的網域來說很少見。網域也可以發布「null MX」,表明它完全不接受電子郵件。
我能看出一家公司的電子郵件由誰營運嗎?
通常可以:MX 伺服器的名稱會透露供應商(Google、Microsoft 365、Zoho…),或在郵件送達前負責過濾的安全服務。這是任何人都查得到的公開資訊。
它能告訴我某個電子郵件地址是否存在嗎?
不能。它告訴你的是網域是否接收電子郵件。某個信箱是否存在,只有它的郵件伺服器知道,而我們不會去問它。若要檢查地址的寫法、網域和類型,請使用「檢查電子郵件地址」。
