2026年5月31日
2026年5月31日
メールサーバーのブラックリスト確認と解除方法:エラー文からの特定、digでの照会、原因の止め方と解除申請
送ったメールが「blocked」「listed」といったエラーで戻ってきたら、送信元の IP アドレスやドメインがブラックリスト(DNSBL)に載っている可能性があります。解除の手順そのものは各リストのサイトで申請するだけのことが多いのですが、原因を止める前に申請しても、すぐに載り直します。この記事では、エラーメールからどのリストに載ったかを読み取る方法、コマンドでの確認、よくある原因の調べ方と止め方、解除申請の進め方を、順を追って説明します。
ブラックリストの仕組みを短く
DNSBL は、迷惑メールの送信元として観測された IP アドレスやドメインを DNS で公開するリストです。受信側のメールサーバーは、接続してきた IP アドレスをリストに問い合わせ、載っていれば受信を拒否したり、迷惑メールとして扱ったりします。
リストごとに、載せる基準・解除の方法・影響の大きさが違います。多くのメールサーバーが参照するリストもあれば、ほとんど使われていないリストもあります。複数のリストをまとめて調べるサイトで「〇件に掲載」と出ても、影響の小さいリストまで慌てて対応する必要はありません。まず、実際に拒否してきた相手がどのリストを根拠にしているか を確かめます。
手順1: エラーメールから載っているリストを特定する
戻ってきたエラーメール(バウンス)の本文に、受信側のサーバーの応答が書かれています。
550 5.7.1 Service unavailable; Client host [203.0.113.10] blocked using zen.spamhaus.org
この例では、IP アドレス 203.0.113.10 が Spamhaus の ZEN というリストに載っていることが分かります。エラー文には、確認や解除の案内の URL が含まれていることも多いので、その URL を開くのが近道です。Microsoft(Outlook.com)や Gmail のように、自社の判定でブロックしている場合は、特定のリスト名ではなく、その事業者の案内ページが示されます。
サーバーのメールログにも同じ応答が残ります。Postfix なら次のように探せます。
sudo grep -E 'blocked|listed|blacklist|5\.7\.1' /var/log/mail.log | tail -n 20
手順2: コマンドで掲載状況を確かめる
DNSBL への問い合わせは、IP アドレスを逆順にしてリストのドメインを付けた名前を DNS で引くだけです。
# 203.0.113.10 を調べる場合は、数字を逆に並べる
dig +short 10.113.0.203.zen.spamhaus.org
# 何も返らない → 掲載されていない
# 127.0.0.x が返る → 掲載されている(x の値でリストの種類が分かる)
Spamhaus の ZEN では、返ってくる値で次のように分かれます。
127.0.0.2、127.0.0.3: SBL(迷惑メールの送信元として登録されたもの)127.0.0.4〜127.0.0.7: XBL(マルウェアに感染したり乗っ取られたりした機器)127.0.0.10、127.0.0.11: PBL(メールサーバーとして使うべきでない範囲の IP アドレス。家庭向け回線など)
注意点として、Google の 8.8.8.8 のような大規模な公開 DNS リゾルバー経由で問い合わせると、Spamhaus は掲載状況ではなく 127.255.255.254 などのエラーの値を返します。この値は「掲載されている」という意味ではありません。サーバー自身のリゾルバーから引くか、Spamhaus のサイトの確認ページで調べてください。業務で継続して問い合わせる場合は、Spamhaus の登録制の問い合わせサービスを使う条件があります。利用条件は変わることがあるので、公式サイトで確認してください(2026年10月現在)。
複数のリストをまとめて調べるには、MXToolbox などのブラックリスト確認サイトも使えます。
手順3: 原因を見つけて止める
解除の申請より先に、迷惑メールが出ていった原因を止めます。よくある順に確かめます。
1. メールアカウントの乗っ取り
パスワードを推測されたメールアカウントから、大量に送信されている例が最も多く見られます。
# 送信待ちのメールの件数と、送信者の偏りを見る
mailq | tail -n 1
sudo grep 'sasl_username=' /var/log/mail.log | awk -F'sasl_username=' '{print $2}' | sort | uniq -c | sort -rn | head
特定のアカウントだけ件数が突出していれば、そのアカウントのパスワードを変え、ほかのサービスで同じパスワードを使っていないか確かめます。fail2ban などで、認証の失敗が続く接続元を一時的に遮断しておくと、再発を防げます。
2. Web サイトからの悪用
WordPress のお問い合わせフォームが、確認メールの機能を使って第三者宛てに迷惑メールを送る踏み台にされることがあります。また、改ざんされたサイトに置かれた不正な PHP ファイルが、直接メールを送っていることもあります。
- フォームで、入力者宛てに内容を送り返す機能(自動返信)に、本文を自由に書ける欄が含まれていないか確かめます。
- フォームに reCAPTCHA や Cloudflare Turnstile などのボット対策を入れます。
wp-content/uploads/など、本来 PHP ファイルが置かれない場所に見覚えのない.phpファイルがないか調べます。見つかった場合は改ざんとして対応し、ファイルを消すだけで済ませないでください。
3. オープンリレー
メールサーバーの設定の誤りで、第三者が自由に中継できる状態になっている場合です。Postfix なら mynetworks が広すぎないか、smtpd_relay_restrictions が設定されているかを確かめます。
4. 送信の設定の問題(PBL など)
PBL に載っているのは、迷惑メールを送ったからではなく、その IP アドレスがメールサーバー向けではないと判断されている場合です。家庭向けの回線や、一部のクラウドの IP アドレスが該当します。この場合は解除を申請するより、プロバイダーの SMTP サーバーや、SendGrid などの送信サービスを経由して送る構成に変えるのが筋です。
あわせて、IP アドレスの逆引き(PTR レコード)がサーバーのホスト名になっているか、そのホスト名の正引きが同じ IP アドレスになるかを確かめます。逆引きの設定は、VPS やクラウドの管理画面で行うのが一般的です。
手順4: 解除を申請する
原因を止めたら、各リストのサイトで解除を申請します。
- Spamhaus: サイトの確認ページで IP アドレスを調べると、掲載の理由と解除の手順が表示されます。XBL なら感染や乗っ取りの対処が済んでいることが前提です。
- Microsoft(Outlook.com など): 送信者向けのサポートページから解除を依頼します。送信状況を確認できる仕組み(SNDS)も用意されています。
- 自動で解除されるリスト: 一定期間、迷惑メールが観測されなければ自動で外れるリストもあります。
申請の際は、何が原因でどう対処したかを簡潔に書きます。一部のリストには有料で早く解除する仕組みがありますが、多くのメールサーバーが参照していないリストであれば、費用をかける必要はないことがほとんどです。費用を求められたら、そのリストが拒否の根拠として実際に使われているかを先に確かめてください。
共用レンタルサーバーやマネージドの環境では、IP アドレスをほかの利用者と共有しているため、自分では解除を申請できない場合があります。その場合は、エラーメールの内容を添えてホスティング会社に連絡します。
再発を防ぐ
- SPF・DKIM・DMARC を設定し、自分のドメインのなりすましと区別されるようにする。
- 1つのアカウントやサイトから送れる量に上限を設け、異常な送信にすぐ気付けるようにする。
- メールの送信量と送信待ちの件数を監視し、急に増えたら通知する。
- WordPress のフォームにはボット対策を入れ、プラグインとテーマを最新に保つ。
まとめ
- エラーメールの応答文から、拒否の根拠になったリストを特定する。まとめサイトの件数だけで判断しない。
digで逆順の IP アドレスを引いて確かめる。公開 DNS 経由の Spamhaus の応答はエラーの値のことがある。- 解除の申請より先に、アカウントの乗っ取り、サイトの悪用、オープンリレー、送信経路の問題の順に原因を止める。
- PBL は解除より、送信サービスを経由する構成に変える。共用サーバーではホスティング会社に連絡する。