AU端末のメール受信日時が1月1日0時0分になる

日記に書く程でもないかなぁって思ったんだけど、それなりにはまっちゃったので、書いておきます。

AU端末にメルマガ配信とかをした時に端末側の受信日時が「1/1 0:00」になる現象が発生。

調べたところ、メール配信時のDateヘッダの指定に誤りがあった。

$mailHeader["Date"] = date("D d M Y H:i:s O");

元々はこうやっていた。何でこういう書き方をしていたのかは、偉大なる諸先輩方の手によるものなので、今となっては知る術はない。

で、

$mailHeader["Date"] = date("r");

これにしたら正常になりました。めでたし、めでたし。

ちなみにdate関数のrとは、

» RFC 2822 フォーマットされた日付

http://php.benscom.com/manual/ja/function.date.php

とのこと。

お手製でフォーマット作るよりもちゃんとしたやつ("r")を使った方がいいってことですね!