• ベストアンサー

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
  • 回答数2
  • ありがとう数1

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

  • ベストアンサー
  • cybert
  • ベストアンサー率56% (18/32)
回答No.2

YahooメールはPOP before SMTPです。 したがって、送信前に一度メールの受信を 行う必要があります。 実際にメールデータを受信する必要はありませんが、 POPでIDとパスで認証を行えばOKです。 PHPでPOP3の受信はやったことないですが、 直接ソケットを送ってPOP認証を一度行えばよい気がします。 それと今回の問題とは関係ないですが、 phpdevよりxamppの方が良いですよ http://www.apachefriends.org/en/xampp.html

javaeg
質問者

お礼

POPでIDとパスで認証。 PHPでPOP3の受信。 出来ました。送信も出来ました。 xamppも入れてみました。 ありがとうございました。

javaeg
質問者

補足

>POPでIDとパスで認証を行えばOKです。 YahooメールのSMTPサーバからの送信は成功しました。 ありがとうございました。 でも、outlookで送受信した後に、送信。そのままですが・・・。 PHPから、「認証」出来るのでしょかね。 やってみます。 ただ、Fromはヤフーのアドレスですよね。 radish3を使っての、独自ドメインからのAU携帯への送信ですが、 下記の様な、ログがでます、それで、radishがメールを、持ったまま、何度が送信を試みますが、失敗します。 なぜか知りませんが、放っておいたやつがと、再送でまれに送信されてAUに届いてます? もう少し確認してみます。 ドコモには、普通に送れるのに・・・。 [2006/01/16 22:15:57][000002772] MAILBOX host=localhost[127.0.0.1] from=<独自ドメインアドレス> to=<ホニャホニャ@ezweb.ne.jp> id=rad10165FC8 size=1386 state=Mail Queue Saved [2006/01/16 22:16:24][000003372] MAIL-BOX raise numerical value of a counter (1) >phpdevよりxamppの方が良いですよ ありがとうございます。 参考に致します。

その他の回答 (1)

  • reisato
  • ベストアンサー率80% (44/55)
回答No.1

FromのメールアドレスはYahoo!デリバーの登録をしていますか? 登録をしないとsmtp.mail.yahoo.co.jpは使えないみたいです。

参考URL:
http://help.yahoo.co.jp/help/jp/mail/mailsoft/mailsoft-01.html
javaeg
質問者

補足

御回答ありがとうございます。 普段、smtp.mail.yahoo.co.jpで、outlookで送受信しております。 Yahoo!デリバーの登録はしております。

関連するQ&A

  • CentOS7×apache×php メールを送信

    CentOS7×apache×php×外部smtpからメールを送信したいです。 しかし、上手く行きません。 【環境】 LAN内のPCにCentOS7をインストールし、apacheとphpをインストールしました。 それ以外のものpostfixなどは入っていないとします。 クライアントPCはWindows10です。 phpの動作確認は、Windows10のPCからブラウザでphpinfo()が見れるところまでできています。 【目標】 下記のphpをブラウザで参照すると、「メール送信に成功致しました。」が出て、メールが届くようにする。 [test_mb_send_mail.php] <?php $sTo = 'adr@yahoo.co.jp'; $sFromMail = 'adr@独自ドメイン.jp'; $sSubject = '件名:メール送信テスト'; $sHeaders = "From: {$sFromMail}\r\n"; $sMessage = '本文:テスト'; //送信処理 mb_language("Japanese"); mb_internal_encoding("UTF-8"); if(mb_send_mail($sTo, $sSubject, $sMessage, $sHeaders)){ echo 'メール送信に成功致しました。<br/>'; }else{ echo 'メール送信に失敗致しました。<br/>'; } ?> [test_mb_send_mail.php] 【メールアドレス】 メールアドレスは2つ用意しています。 adr@yahoo.co.jp ・・・ yahooで作ったメール。thunderbirdメーラで普段使っています。 adr@独自ドメイン.jp ・・・ 契約しているさくらインターネットで作ったメール。thunderbirdメーラで普段使っています。 どちらを受け側、送り側にしても構いませんが、とりあえず、adr@yahoo.co.jpを送り側にします。 【thunderbirdメーラに登録しているsmtpの情報】 smtp.mail.yahoo.co.jp 465 adr@yahoo.co.jp 通常のパスワード認証 SSL/TLS mail.独自ドメイン.jp 587 adr@独自ドメイン.jp 通常のパスワード認証 STARTTLS 【/etc/php.iniの変更箇所】 [mail function] ; For Win32 only. ; http://php.net/smtp SMTP = localhost ; http://php.net/smtp-port smtp_port = 25 ; For Win32 only. ; http://php.net/sendmail-from ;sendmail_from = me@example.com  ↓ ↓ ↓ [mail function] ; For Win32 only. ; http://php.net/smtp SMTP = smtp.mail.yahoo.co.jp ; http://php.net/smtp-port smtp_port = 465 username = adr@yahoo.co.jp password = パスワード ; For Win32 only. ; http://php.net/sendmail-from sendmail_from = adr@yahoo.co.jp 【状況】 「メール送信に失敗致しました。」という自分で設定したメッセージが出ます。 具体的に何がいけないのか? 何かを確認しないといけないなら、具体的に何を確認したらよいのか知りたいです。 以上、宜しくお願い致します。

    • ベストアンサー
    • 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
  • 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
  • Yahoo! にメールを送信できない。

    Perl でメールフォームを作っています。 Yahoo! にメールを送信するときに(Sendmailを使わず)、 HELO コマンドは成功するのですが、MAIL コマンドで次のようなレスポンスが返ってきます。 521 mail not accepted from this domain これは Yahoo! 以外のどんなドメインを指定しても返されるようです。 ちなみに、FROM を指定しないと、 521 from address requires a domain name また、Yahoo! のドメインになりすますと、 521 smtp.mail.yahoo.co.jp closing transmission channel. You must be pop-authenticated before you can use this smtp server, and you must use your yahoo mail address for the Sender/From field. と返ってきます。 これはセキュリティ上の問題だと思いますが、 どのようにすれば解決できるのでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • 現在趣味でPHPを勉強しています。PHPでメールが送信できずに困ってい

    現在趣味でPHPを勉強しています。PHPでメールが送信できずに困っています。お手数をおかけして申しわけありませんが、皆様のお知恵をお借しいただけますでしょうか。 よろしくお願いいたします。 ■サーバ環境 OS:windowsXP PHP:5.3.0 Apahce:2.2.11 ■困っている内容 PHP.iniで以下の設定の上、以下のプログラムでメール送信しましたが、以下のエラーが返ってきて送信できません。 (1)php.ini設定 *プロバイダーに指定されたメールサーバーとメールアドレス。コマンドプロンプトからはtelnetに接続でき、メール送信も可能。 [mail function] ; For Win32 only. ; http://php.net/smtp SMTP = mb.nifty.com ; http://php.net/smtp-port smtp_port = 25 ; For Win32 only. ; http://php.net/sendmail-from sendmail_from = xxxxxx@nifty.com (2)送信プログラム <?php //内部エンコーディング mb_internal_encoding("UTF-8"); //メール内容 $add = "xxxxx@live.jp"; $subject = "test"; $msg = "test"; //メールエンコーディング mb_language("Japanese"); //メール送信 if(mb_send_mail($add,$subject,mb_convert_encoding($msg,"JIS","UTF-8"))){ print "送信完了しました"; }else{ print "メール送信に失敗しました"; } ?> (3)エラー内容 Warning: mb_send_mail() [function.mb-send-mail]: SMTP server response: 501 5.0.0 Invalid domain name in C:\wamp\www\test\mail.php on line 15 メール送信に失敗しました (4)備考 自分でエラー内容からいろいろ調べてみたのですが、そのものずばりのエラー内容は少なく、何が原因かわかりませんでした。エラー内容からPHPがメール送信しようとしてもサーバではじかれているような感じがするのですが、いかがでしょうか。 ご存知の方がいらっしゃいましたらご教示ください。よろしくお願いいたします。

    • 締切済み
    • PHP
  • PHPのメール送信のやり方をご教授ください。

    PHPで以下の様に記述したのですが、メールが届きません。どうしたらメールが届くのかご存知の方はご教授お願い致します。私はPHP初心者です。 <?php if (mb_send_mail("メールアドレス", "テストメール", "これはテストです。", "From: メールアドレス")) { echo "メールが送信されました。"; } else { echo "メールの送信に失敗しました。"; } ?>    メールアドレスの部分は普段使っているアドレスを入力しています。また、php.iniは以下のように変更致しました。 [mail function] ; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury SMTP = mail.biglobe.ne.jp smtp_port = 587 username = アカウント名@kmf.biglobe.ne.jp password = パスワード ; For Win32 only. ;http://php.net/sendmail-from sendmail_from = アカウント名@kmf.biglobe.ne.jp アカウント名とパスワードは与えられたものを入力しています。試しにヤフーのsmtpを使っても届きませんでした。

    • ベストアンサー
    • 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
  • メールが送信されません。

    Net::SMTP でメール送信 CGI を作ったのですが、メールが送信されません。 error.log を見ると次のようエラーメッセージが出力されています。 521 smtp.mail.yahoo.co.jp closing transmission channel. You must be pop-authenticated before you can use this smtp server, and you must use your yahoo mail address for the Sender/From field. ですが、Net::POP でログインしようとしても new コンストラクタが正常に終了しません。

    • ベストアンサー
    • Perl
  • 同じサーバの独自ドメイン違いなだけで、何故同じメール設定でうまくいかない?

    レンタルサーバを借りていて、そこに独自ドメインをいくつも入れられるので、複数の独自ドメインを入れています。 しかし、今日発行したメールアドレスが送信できない状態でした。 これまで他の独自ドメインで発行したメールアドレスは受信ができて送信ができないということはなかったのに、何故今日発行したメールアドレスだけがこのようになっているのかわからず困っておりました。 それで、あれこれやっているうちに、試しにこのメールアドレスにだけ、 「POP before SMTP」をONにして、「SMTP認証に受信サーバのアカウント情報を使う」ようにしてみたところ、送信ができました。 しかしおかしいです。 独自ドメインは違えど、同じサーバに入れている独自ドメインです。 これまで発行してきた他の独自ドメインのメールアドレスは、このPOP before SMTPはONにしていないのにちゃんと送信できます。 POP before SMTPは、メール送信時に受信サーバーへのログインを必要とするプロバイダを利用するときに使うものであって、これまでどの独自ドメインのメールアドレスでもやっていないことなので、これが解決策というのはおかしいです。 このような例外設定をせずに送信できるようにしたいのですが、どこがよく間違っていそうでしょうか? POPサーバ、SMTPサーバはwww.xxxxx.jpで間違いありませんし、パスワードも間違いありません。

  • メール送信について

    こんばんは。PHPでmb_send_mailを使ってメールを送信したいのですが、「Warning: mb_send_mail() [function.mb-send-mail]: SMTP server response: 521 mail not accepted from this domain in C:\Program Files\Apache Group\Apache2\htdocs\samples\chap2\sendmail.php on line 5メール送信に失敗しました。」とエラーが出てしまい上手くできません。 ■PHPスクリプト 1:<?php 2:$to='○○○○○@yahoo.co.jp'; 3:$subject='テストメール'; 4:$body='ようこそ!'; 5:if(mb_send_mail($to,$subject,$body)){ 6: print('メール送信に成功しました。'); 7:} 8:else{ 9: print('メール送信に失敗しました。'); 10:} 11:?> PHP.iniファイルはSMTP=smtp.mail.yahoo.co.jp、sendmail_from=CQW15204nifty.comと設定しております。 参考書通りにやっているのですが、メーラーに送られません。この状態で他に考えられる原因とかありますか?わかる方ぜひ教えてください。

    • 締切済み
    • PHP

専門家に質問してみよう