[PHP-users 24789] Re: PEAR MAIL で SMTP を

ZVD03666 @ nifty.ne.jp ZVD03666 @ nifty.ne.jp
2005年 3月 3日 (木) 21:43:45 JST


皆様

お世話になります。吉川です。

いろいろな方からご意見頂きまして本当にありがとうございます。

まずはログを確認しましたがPGを実行させてもまったくログには
何も出力されませんでした。
※メール送信ができるPGソース1を実行させた場合にはログが
正常にでていました。

そして『netstat』の結果ですが、
****************************************
・netstat --inet -n | egrep 25
・netstat --listening --tcp -n | egrep :25
・netstat -ln | grep 25
****************************************

上記の全てで結果はなにもひろえませんでした。
単に『netstat -ln』だけで確認しても『25番』はLISTENして
いませんでした。

又『telnet』で試した場合でも下の通り接続できません
でした。
**********************************************
telnet localhost smtp
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
***********************************************

QMAILは『daemontools』を使って起動されておりそれが
原因なのか(他にも原因があるのかもしれませんが)『25番』
がLISTENにはなっていないようです。


そこで試しにQMAILを『tcpserver』で起動させている別のSMT
Pサーバー(『SMTPが25番にLISTEN』しています)への接続を
試してみると『Mail::send()』で『recipients』の部分は指定しな
いと駄目でしたが無事メールは送信されました。

結局のところ下のご指摘にもありますが、

**************************************************
>ソース1
>|  $mail =& Mail::factory('mail','');
これだと、ローカルメールのコマンドを起動するのでは?
そのプロセスが配送エージェントを起動するので、デーモン
があがってなくても送信できるのでしょう。たぶん。
>PGソース1もPGソース2も同じTCP/IPのソケット接続
>だと認識しておりますので
まずこの認識が正しいかどうかを確認しましょう。
**************************************************

PGソース1はPHPからSMTPのプログラムを使ってメールを送信を
しており、PGソース2ではPHPからSMTPのサーバーへリレーして
メールを送信しようとしているという事なのでしょうか。

ですのでPGソース1ではメール送信がうまくいき、PGソース2
ではリレー先のSMTPサーバーが25番でLISTENしていないので
メール送信ができないという事でしょうか。

以上何卒宜しくお願い致します。





PHP-users メーリングリストの案内