- ベストアンサー
メールが送信出来ないのですが
PHPでメールを送信すると、以下のエラーが出るのでが、こんな時何を手がかりに対処していいかわかりません。お手数ですが、アドバイスを頂けたらうれしいのですが。(素人なもんでよろしくお願いします。) Warning: mb_send_mail() [function.mb-send-mail]: Failed to connect to mailserver at "localhost" port 587, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in xxxxxxxx.php on line nnn
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
回答番号:No.2 つづき >> mb-send-maillって、outlook express を使うように簡単には利用できないんですね。 もしも、localhostのPCにグローバルIPが無いのならSMTP(メール)サーバを入れてもメールは送信できません。 さらに、どこかのDNSにMXレコードを登録してもらわないとそのメールサーバは受信できません(送信は可) 環境に問題は無いなら、「フリー メールサーバ Windows」でググればいくつかソフトが見つかります。 御自分のPC環境に問題があるのあるのなら、outlook express で使っているSMTPサーバを利用する手も有ります。 php.iniの下記部分を、outlook expressの設定と合わせるだけです [mail function] ; For Win32 only. SMTP = localhost smtp_port = 25 注)プロバイダーによっては、SPAM対策で動かない場合も有ります
その他の回答 (3)
- widoww
- ベストアンサー率20% (33/159)
WINだとこーゆサーバも入れて動いたことがあります。
お礼
どうもありがとうございました。 アドバイス頂きましたソフトをインストールしたら 思った通りに、動作しました。 ------------------------------------------- 親切な皆様に感謝いたします。
- mpx
- ベストアンサー率71% (149/209)
Windowsならコマンドプロンプトで C:\> netstat -a UNIX系PCならコンソールで # netstat -a と実行すれば、下記のような表示がでます。そこに下記のようにsmtpのポートがLISTENING状態と出てきますか? Active Connections Proto Local Address Foreign Address State TCP pc-name:epmap pc-name:0 LISTENING TCP pc-name:microsoft-ds pc-name:0 LISTENING TCP pc-name:smtp pc-name:0 LISTENING 出てこないなら、SMTPサーバーの設定を再確認しましょう。
お礼
親切なアドバイスどうもありがとうございます。 smtpのポートがLISTENING状態と出てきますか? 出てきませんでした。 そこで、XP添付のsmtpをインストールしたら、 同時にIISもインストールされてしまいましたが、 smtpのポートがLISTENING状態と表示されました。 (その後で、IISのポート番号を8080に変更しました) 続いて、apacheを起動しようとしたのですが、起動できません。 当然、最初にテストしたPHPも起動できなくなりました。 IISをアンインストールして、現在は最初の状態にもどりました。 mb-send-maillって、outlook express(現在使用しているメールソフト)を使うように簡単には利用できないんですね。 apache と php 環境で、mb-send-maillを利用するときには、自分の PC内にどんなSMTPサーバを入れれば良いんでしょう・・・
- nyalio
- ベストアンサー率58% (20/34)
ポートが開いてない感じですね。 まずそのエラーにも書いてありますが、 smtp_portの設定をphp.iniで確認してください。 あるいはini_set()関数を遣ってsmtp_portの設定をしろとかいてあるので、そのとおりでもいいと思います。 単純な話、メールサーバの設定はされていますか?ってことです。
お礼
お忙しい中早急な回答をいただきましてありがとうございます。 エラー発生時のphp.iniは、以下の内容です。 (最初default(smtp_port = 25)値で実行したら同じエラーが出たので変更しました。 ・・・er at "localhost" port 25, verify yo・・・・) [mail function] ; For Win32 only. SMTP = localhost smtp_port = 587
お礼
懇切丁寧なアドバイスを頂きまして感謝いたします。 よくわかりました。ありがとうございました。 localhostのPCで内容を確認できたので、レンタルサーバにPGMを アップロードして使用する予定です。