Webサーバから発信された自ドメインのメールを別サーバで受信したいです。


WebサーバにPostfixを使用しています。
実際のメールボックスは、DNSを使用し別のサーバで運用したのですが、WebのCGIなどから発信されたメールが、Webサーバ内のPostfixで受信されてしまい困っています。

Webサーバ内のPostfixで発信されたメールは、都度、DNSを検索し、別サーバで管理されているメールボックスで受信するためにはどうすればよいでしょうか?

ご教示いただければ幸いです。

サーバ:CENTOS 6.6
Web:APACHE 2.2
Webサーバのメールサーバ:Postfix ※yumで入れたもの
メールボックス:Gmail

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2015/08/22 13:11:28
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:satoxu No.1

回答回数94ベストアンサー獲得回数14

ポイント100pt

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んこうにしてください。
http://d.hatena.ne.jp/mrgoofy33/20110107/1294416496

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません