[PHP-users 4648] Re: mail 関数と php.ini[mail function] の設定
Youichi Iwakiri
php-users@php.gr.jp
Thu, 10 Jan 2002 17:30:04 +0900
いわきりです
#Windowsの中身は知らないですけど
mkanazawa wrote in <017401c199ab$73f1fa60$890aa8c0@KANAZAWA>:
>以上の環境で、mail 関数のテストを行っているのですが、
>1. php.ini の設定
> [mail function]
> ; For Win32 only.
> SMTP = 211.15.47.242
> ; For Win32 only.
> sendmail_from = mkanazawa@core-science.co.jp
> ; For Unix only. You may supply arguments as well
> ;sendmail_path =
>この設定で、
>$mail = mail("mkanazawa@core-science.co.jp","test","test");
>echo "mail = ".$mail;
>と mail 関数を実行すると、
>Warning; Failed to Connect in ...
>mail =
Warning; Failed to Connect in ...の後は何が出ていますか?
SMTPサーバに接続しようとして失敗しているだけのような気がします。
そのWindows2000 serverからtelnetで211.15.47.242のSMTPポートと
会話が出来ますか?
それが出来ていないようならば、PHPの問題ではなく相手か自分の
通信環境の設定不備でしょう。
ちなみに上記のエラーメッセージはPHPのソースを見る限りPHPが
出したものではありません。
Microsoftのメールライブラリ?
TSendMail(INI_STR("SMTP"), &tsm_err, headers, subject, to, message)
を呼びエラーの際に
GetSMErrorText(tsm_err)
で拾ってきたメッセージだと思われます。
>2. php.ini の設定
> [mail function]
> ; For Win32 only.
> ;SMTP = localhost ( or 211.15.47.242 )
> ; For Win32 only.
> ;sendmail_from = mkanazawa@core-science.co.jp
> ; For Unix only. You may supply arguments as well
> sendmail_path = c:\sendmail\sendmail.exe
> ( sendmail for NT 3.0.2 をインストール)
>この設定で、
>$mail = mail("mkanazawa@core-science.co.jp","test","test");
>echo "mail = ".$mail;
>と mail 関数を実行すると、
>mail = 1
>となり、mail 関数は正常に動作しますが、メールは送信されてい
>ません。
ローカルなsendmailが配送指示を受けてメールをqueueに入れたのでしょう。
その時点で送信成功としてリターンコードを返しているだけ
配送されないのは、ローカルなsendmailと211.15.47.242のSMTPサーバ間で
通信が正常に行われていないだけじゃないですか?
>1. win32 を使用しているのに、前述の 2.のパターンで Connect
> エラーとならないのなら、SMTP の設定が効果なく、Unix の
> sendmail_path をみている動作が見受けられる。
>
>2. web-server が Apache なので、php.ini は Unix ベースで展開
> され、実際の動作は win32 で動作している。
>と考えられますが、如何でしょうか?
たぶん、検討違いだと思います。