• 締切済み

sendmail_fromについて(xampp)

いつもお世話になっております。 今回はメールの送信についてなのですが、 メール送信用のフォームをつくり実行してみたのですが以下のエラーが出てしまいます。 Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\xampp\htdocs\sample\mail2.php on line 27 c:/xampp/php/php.ini(およびphp5.ini)を [mail function] ; For Win32 only. SMTP = localhost smtp_port = 25 ;For Win32 only. sendmail_from = *******@yahoo.co.jp と変更しapacheを再起動して phpinfo()で変更を確認してみたのですが 「sendmail_from    no value no value」 と変更が反映されません。 ここの変更が反映されない限りエラーが出続けてしまうと思うのですが、どうすれば変更が反映されるのでしょうか? 使ってるバージョンは php 5.25 xampp 2.5です。 よろしくお願いいたします。

  • PHP
  • 回答数1
  • ありがとう数2

みんなの回答

  • x415f484f
  • ベストアンサー率71% (57/80)
回答No.1

> c:/xampp/php/php.ini(およびphp5.ini)を http://localhost/xampp/phpinfo.php にアクセスして phpinfo() を 確認してみて下さい。 Loaded Configuration File  (ここの文字) おそらく「c:\xampp\apache\bin\php.ini」だと思われます、その ファイルを必ずどこかにバックアップをした後で編集して下さい。 > C:\xampp\htdocs\sample\mail2.php on line 27 このファイル「C:\xampp\htdocs\sample\mail2.php」に問題があります。

gsrbrk
質問者

お礼

さっそくありがとうございます。 おっしゃるとおり、変更するファイルが間違っておりました。 c:\xampp\apache\bin\php.iniでした。 ここを変更してとりあえずメールが送信できました。 しかし、どんなメールアドレスをうっても送信者のアドレスが sendmail_from = *******@yahoo.co.jp で設定したアドレスになってしまいます。アドレスが送信者ごとにかわる用にするにはsendmail_from の部分をなにか変えなきゃいけないのでしょうか?いろいろ調べて ヘッダーの部分を $header = "Content-Type: text/plain; charset=iso-2022-jp\n"; $header .= "From: メールアドレス"; の様にすることで、send_mail_from以外のアドレスを差出人として設定可能という記事をよんでさっそくしたのですが上手くいきません。最初の質問と変わってしまいましたが?どうすればいいのかご存知でしょうか?

関連するQ&A

  • xampp sendmail 設定

    PHP sendmail 設定について すみません、うまく行かないのでご存知方いましたら おしえてください。 sendmailの設定です。。。 環境・php5、xampp1.7、sendmail(xmappに付随) まずはテストでyahooのフリーメールで試してみたいです。 注)まず、契約してる、プロバイダーのSMTPで試すと言う返答はなしでお願いします。 php.ini SMTP = smtp.mail.yahoo.co.jp smtp_port=587 ; For Win32 only. sendmail_from = tes@example.com ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). sendmail_path = "C:\xampp\sendmail\sendmail.exe -t" sendmail.ini smtp_server=smtp.mail.yahoo.co.jp smtp_port=587 error_logfile=error.log debug_logfile=debug.log pop3_server=pop.mail.yahoo.co.jp pop3_username=usernm@ pop3_password=pass auth_username=usernm@(実際ログインできるnm) auth_password=pass(実際ログインできるpw) 上記で設定しましたが、うまくいきません。。エラーMSGは得になしえです。 sendmail.iniなしで直接、php.iniに記載するし Mercury起動すると、 php.ini SMTP = smtp.mail.yahoo.co.jp smtp_port=587 error_logfile=error.log debug_logfile=debug.log pop3_server=pop.mail.yahoo.co.jp pop3_username=usernm@ pop3_password=pass auth_username=usernm@(実際ログインできるnm) auth_password=pass(実際ログインできるPW) ; For Win32 only. sendmail_from = tes@example.com ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ;sendmail_path = "C:\xampp\sendmail\sendmail.exe -t" mb_send_mail() [function.mb-send-mail]: S MTP server response: 530 Sorry, please use SMTP-AUTH instead - for help go to http://help.yahoo.co.jp/help/jp/mail/whatisymail/whatisymail-51.htmlとでます。 解決策、ご存知方いましたら、教えていただけないでしょうか?

    • 締切済み
    • PHP
  • xamppとWindows環境でPHPからメールを送れない

    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認証が問題かと思っていますが、その方法も分かりません。 わかる方いらしゃいましたら教えてください。

    • 締切済み
    • PHP
  • sendmailについて

    こんにちは。自分でPHPを使ってフォームを作ったのですが、家のパソコンで送信をするとフォーム情報を受信することはできるのですが、入力した相手に自動返信をすることができません。(会社のサーバーを使った時は自動返信はできました。) フォームの送信ボタンを押すとセキュリティソフトから以下のアラートがでてきます。それが原因でしょうか? ヤフーの送信サーバーでsendmailの設定をしているので自動返信することはできないのでしょうか? わかる方はぜひ教えてください。よろしくお願いします。 ・セキュリティソフトのアラート文 電子メールメッセージを送信できませんでした。 メールサーバーがメッセージを拒否したためです。 451 See http://pobox.com/~djb/docs/smtplf.html ・PHP.iniファイルの設定 [mail function] ; For Win32 only. SMTP = smtp.mail.yahoo.co.jp smtp_port = 25 ; For Win32 only. sendmail_from = xxxxxxx@yahoo.co.jp

    • 締切済み
    • PHP
  • xamppでPHPのフォームからメール送信できない。

    xamppでPHPのフォームからメール送信できない。 phpを勉強し始めた初心者です。お世話になります。 phpで会員登録出来て申し込みも出来るフォームをつくりました。 他の場所(LANで繋がれた環境)では登録も保存も出来、メール(自分のgmailアドレス) に送られて来るように作成してあるのですが、そこではちゃんとメールが届きますが 自宅で同じように設定して送信すると 登録は出来てDBに保存されるのですがメールが送られてきません。 自宅はデスクトップのPCにモデムにケーブルをつないでいます。 プロバイダーはSonetウィズフレッツ光マンションタイプです。 他の場所の違いはDNSサーバーくらいなのですが、 それをXamppの中のMercuryに設定しても うまくいきません。 sonetやNTTに聞いても「特にブロックするようなことはしていない」との事で 問題なく動くようですが・・一度もメールがおくられてきていません。 やったこと ■php.iniの設定変更【下記参照】C:\xampp\apache\bin\php.ini ●ここの設定を↓ [mail function] ; For Win32 only. SMTP = localhost smtp_port = 25 ●このように変えたり↓してもだめでした。 [mail function] ; For Win32 only. SMTP = mail.XXX.so-net.ne.jp smtp_port = 587 ●この辺はコメントをはずしています。↓ ; For Win32 only. ;sendmail_from = exsample@gmail.com ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). sendmail_path = "C:\xampp\sendmail\sendmail.exe -t" [mbstring] ; language for internal character representation. mbstring.language = Japanese ; internal/script encoding. ; Some encoding cannot work as internal encoding. ; (e.g. SJIS, BIG5, ISO-2022-*) mbstring.internal_encoding = UTF-8 ■mercuryの設定 コマンドプロンプトでipconfig/allで DNSserverを調べると 二つでてきたので(プライマリとセカンダリ?) プライマリのほうだけ入れたり 両方入れたり セカンダリだけいれたり 試しましたが全て駄目なようです。 繋がらないので試したこと ●ウイルスソフト(アバスト)を無効にした。 ●ファイヤーオールを無効にした。 XAMPP (Basispaket) version 1.6.8 windowsXP ブラウザfirefox3.6.8 なにか設定しないと動かないのでしょうか? 一応 画像添付します。 以上ですが他の情報が必要でしたらおっしゃっていただけたらと思います。 宜しくお願いします。

    • ベストアンサー
    • PHP
  • ローカル環境でのメール送信ができない

    ここでお願いします。 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(自分用のメールアドレス, 'テスト', '本文');

    • ベストアンサー
    • PHP
  • xamppとsendmail設定とmailについて

    どなたか、下記の内容で解決に導いてくれる方、居られたらと思い 質問させて頂きました。 xampp1.7.1をインストール osはwindowsxpです。 設置した、cgiやphpからのメールについてなんですが、 php.iniの [mail function] ; For Win32 only. ; http://php.net/smtp ;SMTP = localhost ←コメントアウトする ; http://php.net/smtp-port ;smtp_port = 25 ←コメントアウトする sendmail_path = "\"\xampplite\sendmail\sendmail.exe\" -t" のsendmailのパスのコメントアウトだけをはずしました、 それと sendmail.iniの [sendmail] セクション smtp_server= プロバイダのSMTPサーバ名 smtp_port=587 smtp_ssl=auto default_domain= プロバイダのメールドメイン auth_username= プロバイダのメールアカウント auth_password= 上記メールアカウントのメールパスワード force_sender= 上記アカウントのメールアドレス hostname= test 上記を設定 MarcuryMailでは ・Marcury Coreモジュール DDNSでの設定ドメインを設定。例abc.net ・MarcuryS SMTP abc.netの追加とポート587、smtp-authの設定 ・MarcuryP POP  ユーザーの追加 (例 test@abc.net test2@abc.net ) ・MarcuryC SMTP relaying client プロバイダのsmtpホスト、ポート、smtp認証の設定 の3つのプロトコルモジュールを設定 それから、apacheのルートディレクトリにテストで、  (ServerName abc.net:80)を設定しています。 cgiとphpの各メールフォームを設定しました。(その他にも設置していますけど。。。) 各メールフォームのメール送信元を test@abc.net を設定。 ここからなんですが。。。 ローカル内のクライアントPCのoutlookで test2@abc.net のアカウントを追加、 自分宛てに(test2@abc.net)にメールを送ってみる、正常に届いた。 ローカル内のクライアントPCからの接続で、 cgiとphp共に、アクセスしてsendmailの送信テストを行う、、、 アクセスしたForm画面の、メールアドレスに test2@abc.net を入力して 送信しても、メールが来ない、、、 試しに、再度アクセスしたForm画面の、メールアドレスに サーバーに関連していないドメイン(プロバイダやyahoo,Gmailなどのメールアドレス) を入力して送信すると、正常に届きます。 上記の内容で、sendmailを使ってメール送信した際に、 どうしてMarcuryMailで追加した、ドメイン名でのメールアドレスには メールが来ないのか解りません。。。 どなたか、解決に導いてくれる方、居られませんか。。。 よろしくお願いします。 ------------------------------------------ 上記の内容をまとめました。 ↓↓↓ ●MarcuryMailにabc.netを追加 ●MarcuryMailでアカウント、test@abc.net test2@abc.net を追加 ●php.ini と sendmail.ini を設定 ●apacheのルートディレクトリに、cgi と php のテスト用mailformを設置 ●mailformスクリプトの、送信元メールアドレスに test@abc.netを設定 ●テストでローカル内のクライアントPCのoutlookに test2@abc.net を追加   outlookで test2@abc.netにメール送信、無事メールが届く。 ●設置している、cgiとphpのmailformにアクセス、フォーム画面のメールアドレス欄に、   test2@abc.netを入力後送信してもメールが来ない。 ●再度、設置している、cgiとphpのmailformにアクセス、フォーム画面のメールアドレス欄に、   サーバーに関連していないドメイン(プロバイダやyahoo,Gmailなどのメールアドレス)   を入力して送信すると、正常に届く。 ---------------------------------------------- その他機能は正常に動作しています、その他設置済みのwordpressなど。。

  • Win7にxampp mail関数が動かない

    お世話になります。 xamppにwordpressをインストールして、ローカルで動かそうと思ったのですが、どうしても動きません。 ワードプレスを教えてあげることになったのですが、相手の方がwin7の方で、xamppにwordpressをインストールするところまではうまくいくのに、なぜかログインすることができないのです。 パスワード違いでエラーになるんです。 パスワードの再発行をするのに、 なので、xamppのphp.iniをいじって、 [mail function] ; For Win32 only. ; http://php.net/smtp SMTP = smtp.live.com ; http://php.net/smtp-port smtp_port = 25 (ホットメールを利用。) にしてみたのですが、だめでした。 パスワードの再発行をすると、mail関数が動かないというエラーが出てしまいます。 念のためポート番号を587にしても結果は同じでした。 ちなみにVistaでやった私は一度もエラーが起きず、問題なく動かすことができています。 作業環境は OS:Windows7 Ult 64bit xamppもワードプレスもいずれも最新です。 心当たりのある方、ぜひ教えてください。

    • 締切済み
    • PHP
  • phpでメール送信

    Warning: Mailserver rejected our "sendmail_from" setting in c:\phpdev\www\test\php\mail\mail.php on line 11 エラー:送信に失敗しました 上記の様にエラーが出て送信できません あて先は、xxxxx@yahoo.co.jp他、どのアドレスに送れません。 php.iniの部分は下記の通りです。 [mail function] ; For Win32 only. SMTP =smtp.mail.yahoo.co.jp ; For Win32 only. sendmail_from =xxxxx@yahoo.co.jp ; For Unix only. You may supply arguments as well (default: 'sendmail -t -i'). ;sendmail_path = ヤフーのsmtpサーバーは、「POP before SMTP」か何かが原因でphpからこの方法でメールは送れませんか? 現在、多くのsmtpサーバーで「POP before SMTP」がかかっていると、ネットで見たのですが、phpからメールを送りたいのですが、どうすればよいでしょか? あと、自宅マシンに独自ドメインを取得しRadishを入れて、smtpサーバを立ち上げて、こちらに送ると、携帯以外には送信出来る様です、でも今時、携帯に送信出来ないと使い物にならないので。こちらは、携帯のサーバーのセキュリティでウチのドメインがはじかれているのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • PHP上でのメールフォーム送信設定

    こんにちは。 メールフォームの送信する際の設定について質問があります。 メールフォームの送信ボタンを押した後、下記のようなエラーメッセージが出ました。 Warning: mb_send_mail() [function.mb-send-mail]: Failed to connect to mailserver at "smtp.mail.yahoo.co.jp" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\program files\apache group\Apache\htdocs\mytest16-1.php on line 65 yahooメールを使っての送信を考えていて、yahoo側の登録は完了しました。 php.iniファイルは以下のように変更しました。 [mail function] ; For Win32 only. SMTP = smtp.mail.yahoo.co.jp←ここを直しました smtp_port = 25 ; For Win32 only. sendmail_from = xxxxxxx@yahoo.co.jp         ↑ここを直しました。 ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ;sendmail_path = その後、Outlookを利用してPOP3送受信も行い、正常に終了しました。 しかし、まだ同様のエラーが出続けてしまいます。 初心者ですので、メールに関しての知識がほとんどありません。どのように解決したらよいのかを詳しく教えていただければと思います。 よろしくお願いします。 環境:WindowsXP, Apache2.0, MySQL1.4, PHP5

    • ベストアンサー
    • PHP
  • PHPでのmail送信に関して

    教えて下さい。 PHPの中で、mail関数を用いてメール送信をしたいと考えていますが、 下記のようなエラーでどうしても送信できません。 Warning: mail() [function.mail]: SMTP server response: 999 5.7.1 Unable to relay for xxx.xxx@xxx.co.jp in C:\Apache Group\Apache2\htdocs\PHP\mail.php on line 9 phpの方の記述は、 <?php $to = 'xxx.xxx@xxx.co.jp'; $subject = 'the subject'; $message = 'hello'; $headers = 'From: xxx.xxx@xxx.co.jp' . "\r\n" . 'Reply-To: xxx.xxx@xxx.co.jp' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers); ?> としてあります。 php.iniの部分も以下のように変更しています。 [mail function] ; For Win32 only. SMTP =xxx.xxx-mail.ne.jp ← ここをSMTPのメールサーバにしてあります。 ; For Win32 only. ; sendmail_from = ; For Unix only. You may supply arguments as well (default: 'sendmail -t -i'). ;sendmail_path = エラーを解除する為にはどこを修正すれば良いでしょうか。。。 教えて下さい。 宜しくお願いします。

    • 締切済み
    • PHP