xamppとwindowの環境でローカルからphpを使ってメールを送りたいのですが、なかなかうまくいきません。


phpの記述は以下のようにしています。
<?php
$id = $_POST["id"];
$mail = $_POST["mail"];
$message = $_POST["message"];
mail("***@yahoo.co.jp", "id", "mail",$message);(←15行目です)
?>

php.iniの設定は以下のようです。
[mail function]
; For Win32 only.
SMTP = smtp.mail.yahoo.co.jp
smtp_port = 25

; For Win32 only.
sendmail_from = ***@yahoo.co.jp

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = "C:\xampp\sendmail\sendmail.exe -t"

yahooデリバーの登録もやりましたが、
Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\xampp\htdocs\php0808\b.php on line 15

のようなエラーが出ます。

考えられるのはyahooのPOPでのID認証が問題かと思っていますが、その方法も分かりません。

わかる方いらしゃいましたら教えてください。

回答の条件
  • URL必須
  • 1人3回まで
  • 登録:
  • 終了:2008/11/17 13:15:26
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:krese No.1

回答回数20ベストアンサー獲得回数4

ポイント35pt

Fromヘッダが設定されてない、というエラーですね。

mail関数は

http://jp.php.net/manual/ja/function.mail.php

なので、15行目は

mail("***@yahoo.co.jp", "mail", $message, $headers);

となるはずです。

(「例2 追加ヘッダを付加してメールを送信する」に詳しく載っています。)


また、ご存じかも知れませんが日本語を扱う場合は

http://jp.php.net/manual/ja/function.mb-send-mail.php

をご利用ください。

id:horizon58

ご回答ありがとうございます。

$headersを設定し、エラーは解消されました。

ただ指定のアドレスにメールが届きません。

メールフォームとphpを同じファイルに記述しているのが問題なのでしょうか・・

原因が分かりません。。

2008/11/14 11:13:52
id:mugitaro32 No.2

回答回数6ベストアンサー獲得回数0

ポイント35pt

おそらくメールデーモンの問題ではないでしょうか?

sendmailあたりのソフトやそのパスなどを見直してみるといいかと思います。

とりあえず送信できてるの?というのを確かめたい場合には、

Melonというsmtpソフトを使ってメールサーバを立ち上げ、

送信テストを行ってみるといいかもしれません。

これで送信できるようであれば、現状のシステムでの問題が

絞られるかと思います。

ちなみにMelonはセットし、起動さえすれば簡単に動くもので、

当方でローカルテストを行う場合によく使うソフトです。

OSはvistaで開発しており、問題なく動いております。

http://www.vector.co.jp/soft/dl/win95/net/se240895.html

id:horizon58

ご回答ありがとうございます。

早速Melonをダウンロードし、使ってみました。

Melonの管理画面では目的のアドレスに送信記録が残っているのですが、実際にはメールが送られていないようです。

送信元メールはyahooのメール、送信先はhotmailに設定しているのですが、送信元メールに問題があるのでしょうか??

2008/11/17 11:18:31

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません