2026年9月1日

2026年9月1日

メールサーバーのブラックリスト確認と解除方法:DNSBLの調べ方から原因の止め方、解除申請まで

自分のメールサーバーのIPアドレスがブラックリスト(DNSBL)に載ったときは、「どのリストに載っているかを確かめる」「迷惑メールが出ている原因を止める」「リストごとの手順で解除を申請する」の順に進めます。原因を止めないまま解除だけを申請しても、すぐに再掲載されます。この記事では、拒否メッセージとログの読み方、dig での掲載確認、よくある原因の調べ方と止め方、主なリストの解除の流れ、再発を防ぐ設定までを説明します。

まず症状を確認する:本当にブラックリストが原因か

ブラックリストが原因で届かない場合、相手のサーバーから拒否の応答が返り、その内容がバウンスメール(エラーメール)や自分のサーバーのログに残ります。Postfixなら /var/log/mail.log(RHEL系は /var/log/maillog)を確認します。

sudo grep -E "blocked|blacklist|blocklist|listed|spamhaus|barracuda|spamcop" /var/log/mail.log | tail -n 20

次のような行があれば、相手がDNSBLを参照して拒否しています。

status=bounced (host mx.example.net[203.0.113.25] said: 554 5.7.1 Service unavailable;
Client host [192.0.2.10] blocked using zen.spamhaus.org; ... (in reply to RCPT TO command))

この例では、192.0.2.10 が自分のサーバーのIP、zen.spamhaus.org が参照されたリストです。拒否メッセージにリスト名や確認用のURLが書かれていることが多いので、まずはそこを控えます。

一方、拒否の理由が「SPF/DKIMの認証に失敗した」「逆引き(PTR)が無い」「送信量が多すぎる」といった内容なら、ブラックリストではなく送信設定の問題です。GmailやMicrosoftのような大手は、公開のDNSBLではなく自社の評価で判断することが多く、その場合は各社の独自のエラーコードと説明ページが返ってきます。応答の文面に合わせて調べる対象を選んでください。

ブラックリストに載っているかを調べる

dig で直接問い合わせる

DNSBLは、IPアドレスを逆順に並べてリストのドメインを付けた名前をDNSで引く仕組みです。192.0.2.10 を Spamhaus の ZEN で調べるなら次のようにします。

dig +short 10.2.0.192.zen.spamhaus.org
  • 何も返らない(NXDOMAIN): そのリストには載っていません。
  • 127.0.0.2 などの 127.0.0.x が返る: 掲載されています。値によってどのサブリストか(SBL・XBL・PBLなど)が分かれます。
  • 127.255.255.x が返る: 掲載ではなく、問い合わせの拒否を表すエラーです。Spamhausは、Google Public DNSなどの公開DNSリゾルバーを経由した問い合わせを受け付けない運用をしています。サーバーで自前のリゾルバー(unboundなど)を使っているか確認してください。

戻り値の意味や問い合わせ条件は運営元が変更することがあるため、判断に迷ったら各リストの公式説明を確認します(2026年10月現在)。

まとめて調べるサービスを使う

複数のリストを一度に確認するには、MXToolboxのBlacklist Checkや multirbl.valli.org のような、多数のDNSBLをまとめて照会するサービスが便利です。Spamhausは、自社サイトの検索ページ(IP and Domain Reputation Checker)で掲載理由まで確認できます。

まとめて調べると、ほとんど使われていないリストや、広い範囲を一括で掲載する方針のリストにも載っていると表示されることがあります。気にすべきなのは、実際に拒否メッセージに出てきたリストと、Spamhausのように多くのメールサーバーが参照しているリストです。表示された件数の多さだけで判断しないでください。

原因を特定して止める(よくある順)

解除を申請する前に、迷惑メールや不審な送信を止めます。よくある原因から順に確認します。

1. メールアカウントのパスワード漏えい

最も多いのは、メールアカウントのパスワードが漏れ、SMTP認証を通して大量の迷惑メールを送られるケースです。送信キューが急に増えていないか、どのアカウントが多く送っているかを確認します。

# 送信待ちの件数
sudo postqueue -p | tail -n 1

# SMTP認証したアカウントごとの回数
sudo grep "sasl_username=" /var/log/mail.log | sed 's/.*sasl_username=//' | sort | uniq -c | sort -rn | head

特定のアカウントだけが極端に多ければ、そのアカウントのパスワードを変更し、ほかの端末でも使っていたパスワードなら合わせて変えます。送信を一時的に止めたいときは sudo postsuper -h ALL でキューを保留にできます。保留したメールの中身を確認し、迷惑メールだけを削除してから sudo postsuper -H ALL で保留を解きます。キューの削除は元に戻せないため、正規のメールが混じっていないかを見てから行ってください。

2. WordPressなどのWebサイトの改ざん

サイトが改ざんされ、PHPのスクリプトから直接メールを送られることもあります。この場合はSMTP認証のログに出てこないため、見落としがちです。PHPの設定で mail.add_x_header = On と mail.log = /var/log/php-mail.log を有効にすると、mail() を呼んだスクリプトのパスが記録されます。見覚えのないファイルから送信されていれば、改ざんを疑い、サイトのバックアップを取ったうえで不審なファイルの調査、WordPress本体・プラグインの更新、管理者パスワードの変更を行います。

3. お問い合わせフォームの悪用

フォームの「自動返信メール」が、入力された任意のアドレスへ送られる設定だと、迷惑メールの踏み台に使われます。差出人を偽ったアドレスに大量の自動返信が送られ、苦情や迷惑メールの罠アドレス(スパムトラップ)への送信で掲載されることがあります。自動返信の本文に入力内容をそのまま載せない、CAPTCHAや送信回数の制限を入れる、といった対策をします。

4. オープンリレーになっている

認証なしで外部宛てのメールを中継できる状態(オープンリレー)だと、短時間で悪用されます。Postfixでは smtpd_relay_restrictions が次のようになっているか確認します。

postconf smtpd_relay_restrictions
# 期待する値の例
# smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination

mynetworks に広すぎる範囲(0.0.0.0/0 など)が入っていないかも見ます。

5. 自分の運用に問題がない場合

上記に当てはまらないのに載る場合は、次のような理由が考えられます。

  • PTR(逆引き)が無い、または汎用的な名前になっている: 動的IPや家庭用回線のように見なされ、ポリシー型のリスト(SpamhausのPBLなど)に載ることがあります。これは迷惑メールを送った記録ではなく、「この範囲から直接メールを送るべきではない」という方針の表明です。
  • 以前の利用者の評判が残っている: VPSやクラウドで割り当てられたIPが、以前に迷惑メールに使われていた場合です。
  • 同じ範囲の別の利用者が原因: 範囲単位で掲載するリストでは、自分以外の利用者の行為で巻き込まれることがあります。

リストごとの解除の流れ

原因を止めたら、掲載されたリストの手順に従って解除を申請します。ここで挙げる手順は概要で、画面や条件は変わることがあります。

  • Spamhaus: 検索ページで掲載理由を確認し、示された手順に従います。感染端末などを理由とするリスト(XBL系)は、原因を取り除いたうえで自分で解除を申請できる場合が多いです。PBLは、正当なメールサーバーであれば除外を申請できますが、まずはPTRを適切なホスト名に設定してから進めます。SBLのように運営者が個別に判断する掲載は、プロバイダー経由での対応を求められることもあります。
  • Barracuda: Barracuda Central の解除申請フォームから申請します。審査に時間がかかることがあります。
  • SpamCop: 報告が止まれば一定時間で自動的に外れる方式です。原因を止めて待つのが基本です。
  • UCEPROTECT: 個別のIPを載せるレベルと、範囲やAS(ネットワーク)単位で載せるレベルがあります。多くは時間の経過で自動的に外れます。有料の早期解除が案内されることがありますが、原因を止めずに支払っても意味がなく、参照しているメールサーバーも多くはありません。
  • Microsoft(Outlook.com・Microsoft 365): 公開リストではなく自社の判断で拒否します。拒否メッセージに書かれた案内に従い、Microsoftの送信者向けの解除申請ページから申請します。継続して送る場合は、送信の評価を確認できるSNDSに登録しておくと状況を把握しやすくなります。
  • Gmail: 解除の申請窓口は基本的に用意されておらず、送信者ガイドラインを満たし、Postmaster Toolsで迷惑メール率やドメインの評判を見ながら改善していく形になります。

申請の際は、原因と対処の内容を簡潔に書きます。「迷惑メールではない」と主張するだけの申請や、原因が残ったままの申請を繰り返すと、解除が遅れたり再掲載の条件が厳しくなったりすることがあります。

解除後の確認と再発防止

解除の通知を受けたら、dig で再度確認し、拒否されていた相手にテスト送信して届くかを見ます。DNSBLの情報はキャッシュされるため、反映まで時間がかかることがあります。

再発を防ぐには、次の設定を見直します。

  • 送信ドメイン認証: SPF・DKIM・DMARCを設定します。大手のメールサービスは、送信者に認証の設定を求める方針を強めています。
  • PTRとHELO名: 送信IPの逆引きを mail.example.com のような名前にし、その名前の正引きが同じIPを返すようにします。Postfixの myhostname も合わせます。
  • 送信数の上限: 1アカウントが短時間に送れる数を制限しておくと、パスワードが漏れても被害の規模を抑えられます。
  • 認証の総当たり対策: fail2banなどでSMTP認証の失敗が続くIPを遮断し、推測されにくいパスワードを使います。
  • 定期的な確認: 送信キューの件数や、掲載状況を監視ツールで定期的に確認します。
  • 大量送信は専門のサービスへ: メールマガジンのような大量送信は、自前のサーバーではなく配信サービスを使うほうが、評判の管理を任せられます。

自前のサーバーの評判がなかなか回復しない場合や、IPの範囲ごと掲載されている場合は、送信だけを外部のSMTPリレーサービスに切り替えるのも現実的な選択です。

まとめ

  • 拒否メッセージとメールログで、どのリストが原因かを先に確かめます。認証やPTRの問題による拒否と混同しないようにします。
  • dig +short 逆順IP.リスト名 で掲載を確認できます。127.255.255.x の応答は掲載ではなく問い合わせのエラーです。
  • 解除の前に、パスワード漏えい、サイトの改ざん、フォームの悪用、オープンリレーの順に原因を調べて止めます。
  • 解除はリストごとに手順が違い、自動で外れるもの、申請が必要なもの、各社独自の判断によるものがあります。
  • 再発防止には、SPF・DKIM・DMARC、PTR、送信数の制限、総当たり対策、定期的な監視が有効です。

お気軽にご相談ください

お見積りへ お問い合わせへ
▲