質問: Webサーバから発信された自ドメインのメールを別サーバで受信したいです。 WebサーバにPostfixを使用しています。 実際のメールボックスは、DNSを使用し別のサーバで運用したのですが、WebのCGIなどから発信されたメールが、Webサーバ内のPostfixで受信されてしまい困っています。 Webサーバ内のPostfixで発信されたメールは、都度、DNSを検索し、別サーバで管理されているメールボックスで受信するためにはどうすればよいでしょうか? ご教示いただければ幸いです。 サーバ:CENTOS 6.6 Web:APACHE 2.2 Webサーバのメールサーバ:Postfix ※yumで入れたもの メールボックス:Gmail
回答: DNSが正常に設定されている(MXがちゃんとGmailを向いている)という前提です。 1.main.cf でリレー先を明示的に指定する relayhost = [mail.example.com] # MXに指定されているサーバーを指定 方法としては一番固いのですが、これはDNSを検索しない方法です。 2. SMTP-AUTHでメール送信する 少し難しい方法ですが、思い通りの挙動にならないpostfix を削除して、外部メールサーバーから送信する方法です。アプリによっては設定画面がついてたりしますね。 PEAR:Mail を導入して、下記のようなオブジェクトを作成します。 $params = array( "host" => "smtp.example.com", // SMTPサーバー名 "port" => 587, // ポート番号 "auth" => true, // SMTP認証 "username" => "username", // ユーザー名 "password" => "password" // パスワード ); $mailObject = Mail::factory("smtp", $params); ?> 「PHP SMTP-AUTH」で検索すれば、下記のサイトなどが出てくるのであsんこうにしてください。