sendmailからpostfixの移行で、最後にドットが付くユーザ名のアカウントが、うまくメールが受信できなくなる、ということが起きました。
postfixでは、「foo..bar@sample.jp」や「foo.@sample.jp」というような、途中にドットが2つ以上続くようなアドレスや、最後にドットが付くようなアドレスは、RFC822に違反するために、「"foo..bar"@sample.jp」や「"foo."@sample.jp」という形に変換されます。
そのため、この条件に該当する該当するユーザ名があると、うまくメールが受信できなくなります。
さんざんいろいろと情報漁ったのですが見つからず、でもUさんが解決法を発見。
virtualで使っているアカウント名だったので、virtualの設定ファイル内に、
foo.@sample.jp "foo."@sample.jp
と、quoteしたものとしないものと、両方書いておくと無事受信してくれるようになりました。
quoteしたものだけでは受信できるようにならない、というところがミソです。
その他に、サーバでquoteするのをやめさせるオプション
resolve_dequoted_address = no
があるのですが、これをやっても、受信時の問題の解決は出来ませんでした。
以前はこのせいで、DoCoMo(i-mode)のこれに該当するユーザ宛にメールが送られなかったりしたようなのですが、現在は問題なく送れるようになっていました。
No.15802 携帯メールに送信後、携帯メールアドレスのユーザー名の部分が変化してしまう。
[postfix-jp:01414] ユーザ名にピリオドが入る場合
(追記)
RFCを読まなかった携帯キャリアの罪 - Webビジネスコンサルタントのネタ帳
こちらでもとりあげられていた。
ちなみに sendmail や qmail ではこの制限のチェックがなく送れるはず。