VPSのメール送信できない問題

先日新たに契約したVPS、メール送信できない問題が発生。

1997年から独自ドメイン取得してから、個人サーバ(Web、Mail、DNSなど)は続いていた。メールに関して2007年GoogleのAppsへ移行するまで、個人で構築、管理していたが。それからWordPress(Apache)のお知らせ送信の程度なので、システム標準装備のSendmailで、特に問題なく今日まで運用できました。

先日新たに契約したVPSも、同じくシステム標準装備のSendmailで運用し数日もWordPressからのお知らせメールがなかった、なぜかメールたまり一方でした。

メールログを見ると、送信はできたように見えたが、実はメールキューに溜めただけ。自分メールサーバがSendmailで運用するころ、メーリングリストサービス開設、複数ドメイン運用、スパムメールとの戦いなどいろいろ詳しい時期もあったが、その後5年以上の空白もあり、いきなり戸惑いでした。いろいろ調べて、不備が見つからないので、Technical Supportに連絡してみた。そうするとこんな返事が来た。

We block port 25 by default to prevent spam. We will remove the block once you provide us with rdns.

要するにport 25 塞がった。rdns提供したら開けるって。主なドメインを教えたら、rdnsが設定してくれた。しかし一日待ってメールは依然キューに溜めただけ。Googleでいろいろ調べて、Gmailは、IPv6 向けの追加のガイドラインがあり、2013年後半発効された。

IPv6 向けの追加のガイドライン

  • 送信元 IP には PTR レコード(送信元 IP の逆引き DNS)が必要です。また、PTR レコードで指定されているホスト名の DNS の正引き解決によって取得した IP と一致している必要があります。そうでない場合は、メールに迷惑メール マークが付けられたり、メールが拒否されることがあります。
  • 送信元ドメインは、SPF チェックまたは DKIM チェックにパスする必要があります。そうでない場合は、メールに迷惑メール マークが付けられることがあります。

このVPSはIPv6 対応なので、対策とって見た。まずメール認証機能 SPF設定のすすめを参考し、SPFを設定してみた。

ところでrdnsも効き、SPFも設定したけど、メール送信またできない。念のためGmail以外のHotmail、プロバイダメールなどへもテスト送信したが、やはり送れない。本当にport 25 開けたかどうか、自分で調べてみた。

# telnet oxmail2.registrar-servers.com 25
Trying 198.187.29.233…
telnet: connect to address 198.187.29.233: Connection timed out
Trying 192.64.116.196…
telnet: connect to address 192.64.116.196: Connection timed out

やはり、またあけてない。その結果をTechnical Supportに連絡して、ようやくport 25 開けた。翌日お知らせメールが続々と届くようになった。ちゃんとSPFも設定されていた。

Authentication-Results: hotmail.com; spf=pass (sender IP is xxx.xxx.xxx.27) smtp.mailfrom=yyy@digilib.org;

しかし、gmail へ送信は依然できない。IPv6 向けの追加のガイドライン何度も読み直し、本当にIPv6の逆引きが追加してもらったとnslookupで確認しても出てこない・・・と思ったら

set type=AAAA

で検索したらv6アドレスが出てこない!やはりまた設定されてない!そうするとメール送信に関してIPv6使わないようにすると考えた。

Postfix に関してIPv6の逆引きとgmail問題で解決法があるだが、自分のsendmail設定に照らして、IPv6に関連するそうなところすべて外しても効果がない。

こうすると、サーバ全体IPv6を無効にするしかない!この数日調べたサイトに、CentOS6でIPv6を無効にするという記事があるので、その通りにしたらgmail へ送信できるようになった。

結局何のためのIPv6なのかわからない!