[PHP-users 80] Re: リモートのqmail サーバーからメールを送信したい

SAWADA Hodaka php-users@php.gr.jp
Sun, 17 Jun 2001 16:20:38 +0900


At Sun, 17 Jun 2001 15:06:33 +0900,
Y.Watanabe <yuw@msj.biglobe.ne.jp> wrote:

> > webサーバ + Oracle で認証の結果を取得して、その結果を
> > 別マシン(リモートのメールサーバ(qmail)) から送信したいのですが、
> > このような事は可能でしょうか?
> > 現在の環境は以下のような状況です。
> > WEBサーバー(TurboLinux Advanced Server + Apache + PHP3)
> > Mailサーバー(TurboLinux Advanced Server + qmail + DNS(BIND)
> > DBlサーバー(TurboLinux DataServer + Oracle)
> 
> そう言われてみると、mail()関数やjstr_send_mail()関数には、
> smtpサーバやポート番号を指定する機能は無いみたいですね。

mail()/jstr_send_mail()を使わずに、直接 fsockopen() を使って
SMTP でつなげばできます。
この場合、qmail 側で踏み台の設定が必要です。

ただ、直接 SMTP でつなぐ場合、qmail マシンが落ちてるとかの場合に
キューの管理を手前の PHP マシンでやらないといけないので、
おすすめはできません。

キューイングまでやってしまうと、
その場かぎりで消えてしまう PHP にはとってもつらいことなので、
mail() 等には他に投げる機能がないのだと想像できます。
#source 見てませんけど。

> (あくまでPHPが動いているサーバ上のsendmailを使おうとするのか?)

local の MTA はなんでも大丈夫です。
コンパイル時もしくは、設定ファイルに項目があります。

> ってことは、
> WEBサーバーにsendmailもインストールして、そのsendmailの設定を
> 「隣のメールサーバ(qmail使ってる奴)に全部中継させる」
> みたいなことにするしかないんじゃないでしょうか。

この方法をとるならば、web server に qmail をいれるというのが、
素直じゃないかと思います。

あと、PHP マシンの MTA から qmail マシンに中継させるというのは、
おそらく PHP-users の範囲を越えていると思いますので、以下略。


まぁ、どっちにしても、
元の質問の方が、どうして web server と qmail server を分けたいのか、
そのへんの理由がわかれば、アドバイスのしようもあるのですが、
あれだけの情報では、答える側に負担が大きすぎますね。
-- 
         =^^= HODA =^^=          http://www.tail.gr.jp/~hoda/
澤田保隆@しっぽアルゴリズム情報研究所  mailto:hoda@tail.gr.jp