blog.kur.jp

バイオリンと山、自転車をこよなく愛するkurのチラシの裏。たまには技術的なことを書いたりするかも知れません。

HotmailからGMailにメールが届かない場合がある

無事に解決したようです.コメント頂いた皆様,ありがとうございました.

具体的な解決方法については,09-09-04 (金) 22:24i さんのコメントを参照してください.

ボランティアベースで知り合いの会社の情報インフラ周りの管理をしているんだけれども,数日前から悩まされていることがある.

色々と調べてみたんだけど,私の知識ではお手上げ状態なので,頭の中を整理する意味も込めて,ここに記述してみる.

もし,これが原因なんじゃね?とか思い当たる節がありましたら,指摘して頂けると助かります.

現在の運用状況

会社のドメイン(ここではexample.comとする)をValue Domainで取得し,Value Domainが提供しているDNSを利用してWebとメール運用している.DNS設定はこんな感じ.

aaaa

a @ 202.172.28.107 a xxx 202.172.28.107 mx ASPMX.L.GOOGLE.COM. 10 mx ALT1.ASPMX.L.GOOGLE.COM. 20 mx ALT2.ASPMX.L.GOOGLE.COM. 20 mx ASPMX2.GOOGLEMAIL.COM. 30 mx ASPMX3.GOOGLEMAIL.COM. 30 mx ASPMX4.GOOGLEMAIL.COM. 30 mx ASPMX5.GOOGLEMAIL.COM. 30 cname mail ghs.google.com. cname www ghs.google.com. cname docs ghs.google.com.

WebサイトはCoreserver(202.172.28.107)を利用して運用.http://example.com/の他,http://xxx.example.com/など,複数のサブドメインを運用.

メールはGoogle Apps for Your Domainを利用して運用.

問題点

会社のメールアドレス宛に送ったメールが届かない場合がある.常にメールが届かないわけではなく,再現性はまったく無い.

調査

通常,hoge@example.com宛てのメールは,DNSのMXレコードを参照して,配送先を決定するはず.だから上記のようなDNS設定であれば,メールはASPMX.L.GOOGLE.COMに対して配送されると思う.

ところが,実際にはASPMX.L.GOOGLE.COMには配送されていないみたいで,どうやらCoreserver(202.172.28.107)に対して配送されているみたい.このことは,Coreserver(202.172.28.107)で用意されているメールサーバでCatchAll設定を行って確認した.Coreserver(202.172.28.107)で受信したメールのヘッダはこんな感じ.

Delivered-To: "kurのアドレス" Received: by 10.90.65.5 with SMTP id n5cs265869aga; Thu, 4 Jun 2009 03:40:58 -0700 (PDT) Received: by 10.141.78.12 with SMTP id f12mr1738707rvl.46.1244112057836; Thu, 04 Jun 2009 03:40:57 -0700 (PDT) Return-Path: <"送信者のアドレス"> Received: from s106.coreserver.jp (s106.coreserver.jp [202.172.28.107]) by mx.google.com with SMTP id 3si11441198pzk.134.2009.06.04.03.40.56; Thu, 04 Jun 2009 03:40:57 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning "送信者のアドレス" does not designate 202.172.28.107 as permitted sender) client-ip=202.172.28.107; Authentication-Results: mx.google.com; spf=softfail (google.com: domain of transitioning "送信者のアドレス" does not designate 202.172.28.107 as permitted sender) smtp.mail="送信者のアドレス" Received: (qmail 5070 invoked by uid 89); 4 Jun 2009 19:40:56 +0900 Delivered-To: example.com-hoge@example.com Received: (qmail 5063 invoked by uid 89); 4 Jun 2009 19:40:55 +0900 Received: from col0-omc2-s10.col0.hotmail.com (65.55.34.84) by s106.coreserver.jp with SMTP; 4 Jun 2009 19:40:55 +0900 Received-SPF: pass (s106.coreserver.jp: SPF record at spf-a.hotmail.com designates 65.55.34.84 as permitted sender) Received: from COL103-DS24 ([65.55.34.72]) by col0-omc2-s10.col0.hotmail.com with Microsoft SMTPSVC(6.0.3790.3959); Thu, 4 Jun 2009 03:40:42 -0700 X-Originating-IP: ["送信者のIPアドレス"] X-Originating-Email: ["送信者のアドレス"]

これを読む限り,Hotmailから出したメールはcol0-omc2-s10.col0.hotmail.comというサーバから,s106.coreserver.jpに配送されているみたいなのですが,そもそもMXレコードでGoogleのサーバを設定してあるのに,Coreserverに配送されてきている時点で意味がわかりません.(最終的にmx.google.comに配送されているのは,coreserver側で,CatchAll設定をして転送しているからです.)

最初は,DNSの設定ミスなのかなーとか思ったんだけど,Value Domainのコントロールパネルで確認しても問題なさそうに見えるし,まったくのお手上げ状態です.

可能性として考えてみるなら,どこかに古いDNSのキャッシュが残っていて,HotmailのSMTPサーバがそれを参照してメールを配送しているのかなーとも思うんだけど,そんなことってあり得るんでしょうか?DNSを更新してから2,3日ならわからなくもないんですけど,半年近く経ってるんですけど….