問題
自分のサイトに設置しているメールフォームで自分宛てのメールが届かない(自分以外には届く)。
ログ(/var/log/maillog)を見ると status=bounced (unknown user: "hoge") などと書いてある。
間違った解決法
エラーメッセージで検索してみると/etc/postfix/main.cfの inet_interfaces の設定値を変えると良いと書いてあるブログがあるが、これは関係ない。
ただしい解決法
問題は同設定ファイル中の mydestination の値。送信先メールのドメインが自サーバーのドメイン($myhostname か $mydomain)と一致するとサーバー内部のユーザー宛てに送信しようとしてしまう。このサーバーでは "hoge" というユーザーは存在しなかったので unknown user: "hoge" と出たというわけ。
ローカルでメール配信することはないので
mydestination = $myhostname, localhost.$mydomain, localhost
↓
mydestination =
としてpostfixをrestartで解決。