オルタナティブ・ブログ > mtaneda ブログ >

中小企業の開発者は会社で何をしているのか

@domain というメールアドレス

»

不思議なメールを受け取りました。

ウェブのフォーム経由で送信したメールの控えが、送信した本人と無関係の私に送られてきたのです。
メールサーバのログを調べたところ以下のことがわかりました。

  • 何故かそのサイトのメール送信フォームがおかしくて、控えの送信先が宛先が本人と「@domain」のメールアドレスの2カ所になっていた
  • Postfixは@domainで受け取るとrootに配送する

送信フォームがおかしいのは私の知るところではないですが、
@domainで root 宛てにメールが届くというのははじめて知りました。

そのメールサーバーはroot宛てメールが私に届くようになっていたため受け取ってしまったということです。

試しに Mail.app  @domainに送ってみたらやはり届きました。
長い間メールを使っていますが、初めて知りました。

少し調べてみました。

まず、/etc/posftix/master.cf の、

 

rewrite   unix  -       -       -       -       -       trivial-rewrite

というところを、

rewrite   unix  -       -       -       -       -       trivial-rewrite -v

として、詳細なログがでるようにします。

その結果が、これです。

Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: input attribute value: ""@hogehost.somewhere
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: rewrite socket: wanted attribute: (list terminator)
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: input attribute name: (end)
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: `local' `""@hogehost.somewhere' -> `""@hogehost.somewhere'
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: send attr flags = 0
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: send attr address = ""@hogehost.somewhere
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: master_notify: status 1
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: master_notify: status 0
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: rewrite socket: wanted attribute: request
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: input attribute name: request
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: input attribute value: resolve
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: rewrite socket: wanted attribute: sender
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: input attribute name: sender
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: input attribute value: (end)
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: rewrite socket: wanted attribute: address
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: input attribute name: address
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: input attribute value: @hogehost.somewhere
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: rewrite socket: wanted attribute: (list terminator)
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: input attribute name: (end)
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: match_string: hogehost.somewhere ~? hogehost.somewhere
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: `' -> `@hogehost.somewhere' -> (`local' `hogehost.somewhere' `MAILER-DAEMON@hogehost.somewhere' `256')
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: send attr flags = 0
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: send attr trahogehostport = local
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: send attr nexthop = hogehost.somewhere
Dec 18 22:46:05 hogehost postfix/trivial-rewrite[27799]: send attr recipient = MAILER-DAEMON@hogehost.somewhere

@hogehost.somewhere宛てのメールが、MAILER-DAEMON@hogehost.somewhere宛のメールになっていますね。

RFC5322のAddr-Spec Specificationを流してみましたが、
そういうルールは見当たりませんでした。(見落としてるだけかも?)

もしかしたらPostfix独自の実装の可能性もありますので、他のMTAでも試してみようと思いましたが夜も遅くなったのであきらめました。

 

Comment(0)