PHP-Pear-Mailをwindows-sendmane環境で使う方法
自宅でのテスト用にwindowsにてサーバーを立ち上げて、sendmane(sendまね~る)という便利なソフトを使わせていただいてる。
通常のmail関数やmb_sendmailはこれで使えるのだけれど、PearのMailを使おうとするとどうしてもエラーがでていた。
apacheのsendmail_pathもちゃんとsendmane用に設定しているので、おそらくPearの方で、独自にsendemailをつついていると考えた。
で、ソースをよくみてみると、pear/Mail/sendemail.php の中にこんな記述が。
var $sendmail_path = '/usr/sbin/sendmail';
ありました、ありました。
これを
var $sendmail_path = 'c:\sendmane\sendmane.exe';に変更して一件落着。(パスはsendmaneのインストールディレクトリによって変わる)
と思って、もう少しソースをたどると
if (isset($params['sendmail_path'])) {
$this->sendmail_path = $params['sendmail_path'];
}
の記述が!
うっソースの修正なんぞしなくても、オプションで設定できたか。
なので、ソースをもとに戻す。そして、呼び出すほうにオプションを設定。
$mail = Mail::factory("sendmail");
だったのを
$mail = Mail::factory("sendmail",array('sendmail_path'=>'c:\sendmane\sendmane.exe'));
に修正。
これでこそ一件落着。
ちなみに、Mailを使ってメールする方法はこちらが丁寧。
http://www.s-memo.net/blog/2007/03/pearmail_1.php
(実はこちらに、オプションの説明があった。。。。)
【環境メモ】
-----------------------------------------------------------
OS:Windows XP SP2
sever:Apache 1.3.37
php:php 5.2.4
pear 1.6.1:Mail 1.1.14,Mail_Mime 1.5.2,DB 1.7.13,XML_RPC 1.5.1
------------------------------------------------------------
トラックバック(0)
このブログ記事を参照しているブログ一覧: PHP-Pear-Mailをwindows-sendmane環境で使う方法
このブログ記事に対するトラックバックURL: http://www.cpa-lab.com/cgi-bin/mt/mt-tb.cgi/78

コメントする