人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

XAMPP(http://www.apachefriends.org/xampp.html)を使ってローカル開発環境を立ち上げています。

phpを使ってメール送信をしようと、

php.iniを下記のように変更しました。

[mail function]
; For Win32 only.
SMTP = www.foo.com
smtp_port = 25

ところが、phpからmail()を呼び出すと、

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in E:\htdocs\foo\hoge.php on line 20

といわれてしまいます。なぜphp.iniの設定が反映されないのでしょうか?ちなみにphp.iniのpathはphpinfo()で確認してあるので間違いはないはずなのですが・・・。

他にどこか設定するところがあるのでしょうか?どうぞよろしくお願いいたします。


●質問者: taguchi
●カテゴリ:インターネット ウェブ制作
✍キーワード:AT CONNECT hoge localhost ON
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● kaij
●27ポイント

SMTP = www.foo.com

の所を

SMTP = localhost

でいいのでは

◎質問者からの返答

ありがとうございました。

SMTPですが、localhostにメールサーバーをたていないので、他のところから送りたいのです。なお、www.foo.comはDummyで、実際は自分がいつも使っているSMTPサーバーを書いています。


2 ● えるふん
●27ポイント

apacheを再起動していないのではないでしょうか?

var_dump( ini_get( "SMTP"));

var_dump( ini_get( "smtp_port"));

?>

のようなファイルを作成し,アクセスしたときに設定した値が出てきますか?

◎質問者からの返答

ありがとうございました。いまapacheを再起動後、上のスクリプトを試してみたところ、

string(9) "localhost" string(2) "25"

となりました・・・。


3 ● kaij
●100ポイント

ごめんなさい そいういうことですか、

それと、php.iniの設定が反映されることが前提にないと

話にならないのは判ると思いますが、

エラー文を見ると、localhostが無いという事で

php.iniのデフォルトのlocalhost設定のまま

つまり、php.iniの変更が反映されて無いのではと思うのですが

php.iniの送信許容などを変更して変更できてるか確認してみてください。


php.iniで設定が出来るのであれば

踏むメールサーバーの情報が全く無いのでなんとも言えませんが

送信サーバーをyahooとして

自分の登録してあるyahooアカウントを使い

実際の送信が成功するかを問わずエラーをとりあえず出なくするとすれば

SMTP = ヤフーメールサーバ

sendmail_from = 登録したメールアドレス

ヤフーでは送信できませんが、私のメールサーバならこれで送信できます

◎質問者からの返答

ありがとうございました。

実にお恥ずかしいのですが、いじっているphp.iniが間違えておりました・・・orz。

php.iniのほかのところをいじって反映されるかどうか、おっしゃるとおりにテストしてみて気付きました・・・。

ありがとうございました!(自分の間抜けさ加減が許せん・・・)

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ