登録者リストの無効なメールアドレスをまとめて調べる方法
配信してから大量に戻ってくる前に、自分のリストにある無効なアドレスを見つけられます。最大500件を一度に確認でき、1件ごとに「配信可能」「配信不可」「リスクあり」「不明」のいずれかが返ります。使った分だけの支払いで、月額契約は不要です。
自社が同意を得て集めたメールリストのアドレスを一括で確認し、形式の誤りや存在しないドメインをまとめて洗い出す機能です。メールマガジン配信前のリスト整理や、定期的な棚卸しに使います。
メールリストが古くなる理由
メールリストは気づかないうちに傷んでいきます。転職でアドレスが使われなくなったり、受信箱が放置されたり、何年も前にフォームで打ち間違えたアドレスがそのまま残っていたりします。こうした問題は、配信した日に戻ってくるメールが急に増え、配信元から警告を受けるまで表に出ません。この確認では、アドレスの書式や、そのドメインがメールを受け取る設定をしているかといった実際の手がかりをもとに、1件ごとに状態を判定します。推測ではありません。対象は購入したり集めたりした名簿ではなく、ご自身が持っている登録者のリストです。
使いどころ
大切な配信の前日にニュースレターのリスト全体を確認しておけば、戻ってくるメールを抑え、送信者としての評判を守れます。顧客名簿を3か月ごとに確認し直せば、前回の取り込み以降に使われなくなったアドレスを手作業なしで見つけられます。会社の合併などで2つの連絡先名簿をまとめたあとに確認すれば、使われていない受信箱を一度に洗い出せます。イベントの参加登録者に後日のお知らせを送る前に確認すれば、資料や振り返りのリンクがきちんと届きます。「配信可能」だけを配信に回し、「リスクあり」と「配信不可」は止めるか、別の対応に回してください。
対象としている用途
メールマガジンや会員登録など、自社が同意を得て集めたリストの整理を想定しています。購入した名簿や第三者から入手したリストの検証を目的とした利用はお断りしています。
確認する内容
リスト内の各アドレスについて、形式の誤りとMXレコードの有無をまとめて確認し、無効の可能性が高いものを一覧で示します。個々の確認を1件ずつ手作業で行う手間を省けます。
配信前のリスト整理
メールマガジンの配信直前にリストを整理しておくと、届かないアドレスへの無駄な配信や、配信システム側での評価低下を避けやすくなります。定期的な棚卸しの一環として使われています。
活用例
メルマガ配信前のリスト整理
合同会社みどりデザインは月次のメールマガジン配信前に登録者リストを一括確認し、無効なアドレスを除外している。
退会者リストの棚卸し
問い合わせフォーム経由で集まった同意済みリストを定期的にまとめて確認し、古いアドレスを整理している。
会員データベースの精査
会員登録データベースの年次点検で、形式が崩れたメールアドレスをまとめて洗い出している。
よくある質問
購入した名簿を確認してもらえますか?
対応しておりません。 自社で同意を得て集めたリストの整理を目的とした機能です。
会員登録は必要ですか?
不要です。 登録なしでご利用いただけます。支払いはPayPalのみです。
1回に何件まで確認できますか?
1回の確認で最大500件のアドレスを送れます。それより多いリストは500件ずつに分けて確認してください。結果は1件ごとの状態がまとめて返ってきます。
「リスクあり」とはどういう意味ですか?
そのドメインにメール受信用の正式な設定がなく、古い代替の仕組みでしか受け取れない状態です。完全に無効なアドレスとは分けて示されるので、慎重に送るか、リストから外すかを判断できます。
確認に失敗したアドレスにも料金はかかりますか?
いいえ。まとめて確認する中で失敗したアドレスには料金がかかりません。処理全体は自動で3回まで再試行され、それでも失敗した場合ははっきりとしたエラーが示されます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
認証済みのPOSTでタスクを作成し、結果はWebhookまたは署名付きリンクで受け取ります。この機能はAPIで利用でき、対話型のWebツールとしては提供していません。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/verify/email-batch \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"emails":["a@b.com","c@d.com"]}'const res = await fetch("https://api.kit.forhosting.com/verify/email-batch", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"emails": [
"a@b.com",
"c@d.com"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/verify/email-batch",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"emails": [
"a@b.com",
"c@d.com"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/verify/email-batch", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"emails":["a@b.com","c@d.com"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"emails":["a@b.com","c@d.com"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/verify/email-batch", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"emails": [
"a@b.com",
"c@d.com"
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.email_batch",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
料金と実行方法
1件あたり$0.002で、件数分の合計金額になります。このページからCSVなどをアップロードするほか、APIからも同じ処理を呼び出せます。
技術的な質問
1件あたりの料金はいくらですか
$0.002です。米ドル建てで、件数分の合計金額になります。
アップロードしたリストはいつ削除されますか
処理後24時間以内に自動的に削除されます。
何件までまとめて確認できますか
件数の上限は設けていませんが、大量の件数を確認する場合はAPIからの実行をおすすめします。