[PHP-users 24762] PEAR MAILでSMTPを指定

ZVD03666 @ nifty.ne.jp ZVD03666 @ nifty.ne.jp
2005年 3月 3日 (木) 00:36:39 JST


こんにちは。吉川と申します。

現在PEARのMAILを使ってメール送信を行っています。
環境とバージョンは以下の通りです。

▼環境/バージョン******************************
(1)OS:Red Hat Linux9
(2)PHP:PHP 4.3.10
(3)PEAR:
 ・Mail:1.1.4
 ・mailparse:2.1.1
 ・Mail_Mime:1.2.1
 ・Mail_Queue:1.1.3
 ・Net_Socket:1.0.6
(4)SMTP:qmail
*********************************************

お聞きしたいのはPEARのMAILでSMTPの指定に関してです。
下のソースはメールが正常に送れている場合で『Mail::factory
('mail','')』としている場合です。

▼PGソース1************************************
$hdrs = array(
 'From'        => "********** <***@***.co.jp>",
 'Reply-To'    => "***@***.co.jp",
 'Return-Path' => "***@***.co.jp",
 'To'          => "***@***.co.jp",
 'Cc'          => "",
 'Bcc'         => "",
 'Subject'     => "MAIL SUBJECT");

 $smtp = array(  
  'host'          => "localhost",
  'port'          => "25");

 $mime = new Mail_mime($crlf);

 $mime->setTXTBody($mailtext);
 $mime->setHTMLBody($mailhtml);
 $body = $mime->get();
 $hdrs = $mime->headers($hdrs);
//***********************************
 $mail =& Mail::factory('mail','');
 $mail->send('', $hdrs, $body);
//************************************

***********************************************

ここでPHPが動いているサーバーとは別のMAILサーバーを
SMTPに指定したいので上のソースの『*』で囲まれている部分
を下のように変更したのですがメールがまったく送れません。

▼PGソース2************************************
 $mail =& Mail::factory('smtp',$smtp);
 $mail->send('', $hdrs, $body);
***********************************************

エラーなどは特にでませんがPEARのソースにデバックをいれて
みると『Net_Socket』の『Socket.php』の『connect』メソッドでエラ
ーになっています。具体的にはエラーNO『111』、エラーメッセージ
は『Connection refused』になっています。

ただ上のPGソース1では正常にメール送信が行われているのに
PGソース2ではなぜ『Connection refused』になるのかが分かり
ません。

どなたかこの原因をご存知の方はいませんでしょうか。





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