新しいサーバー IP から送ったメールは、内容がまったく正当なものであっても、迷惑メールフォルダに入ったり、そのまま拒否されたりすることがよくあります。メールボックスプロバイダーは新しい IP を、まず技術的な設定で、その後の数週間は送信の振る舞いで評価します。この記事では、メールが受け入れられるかどうかを左右するチェックリストとして、送信ポート 25、逆引き DNS、SPF、DKIM、DMARC、TLS、Gmail と Yahoo の送信者要件、新しい IP のウォームアップ方法、結果のテスト方法を解説します。メールサーバー一式を運用する場合は、Mailcow または Postal で独自メールサーバーを運用するもあわせてご覧ください。
多くのプロバイダーはスパム対策として、送信方向のポート 25 を既定でブロックしています。サーバーから次のようにテストします。
# Should print "Connected" or an SMTP banner starting with 220
nc -vz -w 5 gmail-smtp-in.l.google.com 25
timeout 5 bash -c 'cat < /dev/tcp/gmail-smtp-in.l.google.com/25' | head -1
接続がタイムアウトする場合は、お使いのサービスで送信 SMTP がブロックされています。サポートチケットを送信し、どのようなメールを送信するのかをご説明ください。
IP の PTR レコードはメールサーバーのホスト名に解決され、そのホスト名の A レコードが同じ IP を指している必要があります(正引き確認済みの逆引き DNS、FCrDNS)。また、サーバーが他のメールサーバーに挨拶(HELO/EHLO)する際も、このホスト名を名乗るようにします。
dig -x 203.0.113.10 +short # expect: mail.example.com.
dig mail.example.com A +short # expect: 203.0.113.10
hostnamectl set-hostname mail.example.com
postconf -e 'myhostname = mail.example.com' # if you use Postfix
逆引き DNS は IP ブロックの所有者が設定します。rDNS(PTR レコード)の設定を参照してください。
SPF は、ドメインのメール送信を許可されたサーバーを列挙する仕組みです。ドメインに TXT レコードを 1 つ公開します。
example.com. TXT "v=spf1 ip4:203.0.113.10 -all"
# If you also send through another service, include it in the same single record, e.g.
# "v=spf1 ip4:203.0.113.10 include:_spf.example-mailservice.com -all"
dig TXT example.com +short
SPF レコードは 1 つのドメインにつき 1 つだけです。2 つあると SPF は失敗します。
DKIM はすべてのメッセージに暗号署名を付与します。主要なメールスイート(Mailcow、iRedMail、Mail-in-a-Box)は鍵を自動で生成します。Postfix と OpenDKIM の場合は次のとおりです。
apt install -y opendkim opendkim-tools
mkdir -p /etc/opendkim/keys/example.com
opendkim-genkey -b 2048 -d example.com -s mail -D /etc/opendkim/keys/example.com/
chown -R opendkim:opendkim /etc/opendkim/keys
cat /etc/opendkim/keys/example.com/mail.txt # the DNS record to publish
# After publishing mail._domainkey.example.com TXT "v=DKIM1; k=rsa; p=..." check it:
dig TXT mail._domainkey.example.com +short
その後、ディストリビューションのドキュメントに従って OpenDKIM を milter として Postfix に接続し、送信したメッセージに DKIM-Signature ヘッダーが付いていることを確認します。
DMARC は、SPF と DKIM が From ドメインと一致(アライメント)しない場合に受信側がどう処理するかを指定し、レポートを送ってもらうための仕組みです。まず監視モードで始め、レポートに問題がないことを確認してから段階的に厳しくします。
_dmarc.example.com. TXT "v=DMARC1; p=none; rua=mailto:[email protected]"
# Later, when legitimate mail passes consistently:
# "v=DMARC1; p=quarantine; rua=mailto:[email protected]"
# "v=DMARC1; p=reject; rua=mailto:[email protected]"
2024 年以降、Gmail と Yahoo はすべての送信者に対して、有効な SPF または DKIM、正引き確認済みの逆引き DNS、TLS を求め、迷惑メールの苦情率を低く保つことを要求しています。大量送信者(Gmail 宛てに 1 日あたりおよそ 5,000 通以上)は、さらに SPF と DKIM の両方、DMARC レコード、From ドメインのアライメント、マーケティングメールでのワンクリック登録解除が必要です。接続を暗号化するため、メールサーバーには有効な TLS 証明書を使用してください(Certbot または acme.sh で無料 SSL を導入を参照)。
新しい IP にはまだレピュテーションがありません。初日から大量に送信すると、スパムの一斉送信のように見えてしまいます。送信量は徐々に増やし、まずは開封や返信の可能性が最も高い受信者から送りましょう。
| 期間 | 1 日あたりの送信数(目安) | 備考 |
|---|---|---|
| 1~3 日目 | 50~100 | エンゲージメントの高い受信者、トランザクションメール |
| 4~7 日目 | 200~500 | バウンスと迷惑メールフォルダへの振り分けを監視 |
| 2 週目 | 1,000~2,000 | 苦情が少ないままの場合のみ増やす |
| 3~4 週目 | 数日ごとに倍増 | 受信遅延(deferral)が増えたらすぐに減らす |
Google Postmaster Tools にドメインを、Microsoft SNDS に IP を登録すると、これらのプロバイダーがあなたの送信をどう評価しているかを確認できます。
Authentication-Results ヘッダーに spf=pass、dkim=pass、dmarc=pass が表示されている必要があります。その場合はレピュテーションと内容の問題です。送信ペースを落とし、反応のある受信者にだけ送り、バウンスするアドレスは削除し、短縮 URL や画像だけのメールを避けてください。IP とドメインが実績を積むまで数週間かかります。
両方を送信するなら、はい。トランザクションメール(パスワードリセット、請求書など)を専用の IP とドメインまたはサブドメインに分けておくと、マーケティングキャンペーンのレピュテーションの影響から守れます。
大量に送信する場合は、多くの場合そうです。アプリケーションは自社サーバーで動かしたまま、信頼できる配信サービス経由でメールをリレーすることもでき、その場合 IP レピュテーションの管理は配信サービスが担います。
上記の手順で解決しない場合は、サポートチケットを送信して IMIDC の 24 時間 365 日対応テクニカルサポートへご連絡ください。サーバー IP、メールサーバーのホスト名とドメイン、ポート 25 のテスト結果、バウンスメッセージ全文またはテストレポートを添えていただくと、より迅速に調査できます。