- ベストアンサー
ローカル環境でのメール送信ができない
ここでお願いします。 xampp-1.6.4 windows2000 PHP5.2.4 xamppでローカル環境にサーバを置き、PHPスクリプトに記述した mb_send_mail関数で自分宛てにメールの送信テストを行いました。 エラーは出なく成功したと思ったのですが、ルータのリンクが点滅してなく どうやら外部に送信されてないようなのです・・・ 何が原因なのでしょうか? [php.ini] [mail function] SMTP = localhost smtp_port = 25 ; For Win32 only. sendmail_from = 自分用のメールアドレス ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). sendmail_path = "C:\xampp\sendmail\sendmail.exe -t" 送信先も自分用のメールアドレスで [test.php] mb_language("Ja"); mb_internal_encoding("sjis"); @mb_send_mail(自分用のメールアドレス, 'テスト', '本文');
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
「ご自分のメールサーバ」というのは、SMTP認証とかPOP before SMTPが不要なサーバでしょうか?そうでなければmb_send_mailで直接は送れないと思います。 #587を使ってYahooのメールサーバに繋ぐとしてもPOP before SMTPで引っかかるかと・・ 一番確実なのは、自分のPCにメールサーバをセットアップして「ローカル配送」で確認することだと思います(外へ投げられるようにするにはOP25Bなどもあって設定が面倒なので・・)。Win環境ならXMailでよろしいかと思います。
その他の回答 (1)
- memphis
- ベストアンサー率40% (975/2395)
ローカルの環境にメールサーバは立ち上げていますか? 立ち上げていない場合は、外部のメールサーバを使うように設定してください。 なお、最近はSPAM対応のためポート25は拒否している所もありますので、事前に確認したほうがいいです。
お礼
ご返答ありがとうございます。 @mb_send_mail関数の@を外して SMTPをサーバを自分のメールアドレスで使用しているやつを使ったのですが、 SMTP server response: 550 5.7.1 Unable to relay for ・・・ というエラーが出たのですが、これはport25の拒否とは関係あるのでしょか? ; For Win32 only. SMTP = 自分の送信メールサーバ(SMTP) ← smtp_port = 25
補足
追記 次のようにやればできる可能性があるというサイトを見つけて 修正したのですが、 SMTP = smtp.mail.yahoo.co.jp smtp_port = 587 に変更しましたが、同じエラーでした・・・
お礼
ご返答ありがとうございます。 これからXMailを入れてみたいと思います。