• ベストアンサー

メールが送信出来ないのですが

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

質問者が選んだベストアンサー

  • ベストアンサー
  • mpx
  • ベストアンサー率71% (149/209)
回答No.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対策で動かない場合も有ります

farnear
質問者

お礼

懇切丁寧なアドバイスを頂きまして感謝いたします。 よくわかりました。ありがとうございました。 localhostのPCで内容を確認できたので、レンタルサーバにPGMを アップロードして使用する予定です。

その他の回答 (3)

  • widoww
  • ベストアンサー率20% (33/159)
回答No.3

WINだとこーゆサーバも入れて動いたことがあります。

参考URL:
http://homepage2.nifty.com/spw/software/radish/
farnear
質問者

お礼

どうもありがとうございました。 アドバイス頂きましたソフトをインストールしたら 思った通りに、動作しました。 ------------------------------------------- 親切な皆様に感謝いたします。

  • mpx
  • ベストアンサー率71% (149/209)
回答No.2

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サーバーの設定を再確認しましょう。

farnear
質問者

お礼

親切なアドバイスどうもありがとうございます。 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)
回答No.1

ポートが開いてない感じですね。 まずそのエラーにも書いてありますが、 smtp_portの設定をphp.iniで確認してください。 あるいはini_set()関数を遣ってsmtp_portの設定をしろとかいてあるので、そのとおりでもいいと思います。 単純な話、メールサーバの設定はされていますか?ってことです。

farnear
質問者

お礼

お忙しい中早急な回答をいただきましてありがとうございます。 エラー発生時のphp.iniは、以下の内容です。 (最初default(smtp_port = 25)値で実行したら同じエラーが出たので変更しました。 ・・・er at "localhost" port 25, verify yo・・・・) [mail function] ; For Win32 only. SMTP = localhost smtp_port = 587

関連するQ&A