会社のサイトの問い合わせフォームから、**会社のメールアドレス(Google Appsで管理)**に問い合わせ内容メールを送りたかったのですが、届かなくて困ったので記載しておきます。
環境
今回の環境は
・VPS
・メールはGoogleAppsを利用
・WordPressを設置
・問い合わせフォームとしてContact Form 7を利用
です。
起こった問題と状況
問い合わせフォームからのメールを会社のメールアドレスで受信できませんでした。
ですが、Gmailなど、別のアドレスでは受信できました。(⇦ここ重要です)
原因
ローカル配送されていた(メールの送信元と送信先が同一だったので、メールの送受信のやり取りがサーバー内部で完結してしまっていた)ことが原因だったようです。
今回のパターンでは、メールアドレスはGoogleAppsで管理していたので、本来であればメールのやり取りは一度外に出す必要があります。
原因(図解)
解決策
Postfixというメールサーバーの設定で、同一ドメインだとしてもローカル配送をさせないように設定することが必要です。
設定方法
/etc/postfix/main.cf
この設定ファイルに書いてある
mydestinationが宛先(=サーバー自身が担当していると認識しているアドレス)なので、ここを書き換えましょう。
今回は$myhostname に 会社のドメインが設定してありましたので、
mydestination = $myhostname, localhost.$mydomain, localhost
これを下記のように書き換えました。
mydestination = localhost.$mydomain, localhost
最後に
同じ現象かどうかを確認するポイントとしては
問い合わせメールの送信先をGmailなど、他のアドレスにしてみて、届くかどうかで判断すると良いです。
もしも、その他のアドレスにも送れなかった場合はメールの送信自体が出来ていない可能性があります。
Gmailには送れるが、同一ドメインに送れない場合は同じケースである可能性が高いです。
参考にしたサイト
http://www.communitycom.jp/2012/08/21/google-apps-contact-form-7-smtp/
http://www.ksknet.net/postfix/postfix_2.html