• ベストアンサー

PHP4.4.1でmb_send_mailの送信エラーについて

mb_send_mailでメール送信しているのですが、 メールアドレスが存在しなかった場合に、エラーを表示したいのですが、そんなことは可能でしょうか?

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

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

  • ベストアンサー
  • galluda
  • ベストアンサー率35% (440/1242)
回答No.1

がると申します。 基本的に「メールアドレスが存在しなかった」という判定が極めて難しいので。 mb_send_mailの関数の戻り値だけでどうこうするのは「無理」だと思っていただいてよろしいかと思います。 詳しい方への補足。 VRFYコマンドは、一応RFCでは重要度を高くしてますが、実際にはセキュリティ的(というかspam対策的)観点から、ほとんど答えを返してこないので。

w0a15455
質問者

お礼

無理だと思うことにします。 ありがとうございました。

関連するQ&A

  • PHP mb_send_mail メール送信 550エラー

    PHP mb_send_mail メール送信 550エラー お世話になります。 PHPにてmb_send_mail関数を使い、メール送信を行っているのですが・・・ 特定の送信先に対して以下のメールが帰ってきます。 ※相手先メールアドレスは伏せております。 件名:Returned mail: see transcript for details The original message was received at Mon, 29 Mar 2010 18:14:56 +0900 (JST) from localhost [127.0.0.1] ----- The following addresses had permanent fatal errors ----- <***@***.***> (reason: 550 Host unknown) ----- Transcript of session follows ----- 550 5.1.2 <***@***.***>... Host unknown (Name server: ***.***.: host not found) 送信先のメールアドレス自体は存在しておりますが、mb_send_mailを使っての送信が失敗します。 また、全てのアドレスで上記のエラーが発生するというわけではないようです。 これを正常に送信させるにはどのようにすればよろしいでしょうか・・? ご回答よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • mb_send_mailで送ったエラーメールの行方

    phpのmb_send_mail関数ですがデフォルト設定でsendmailを使ってメールを送信しているようです。エラーメールを送信した場合、エラーメールが普通に戻って来ません、どこにエラーメールが行ってるか教えてください。 エラーメール=アドレスが正しくないメールや送信時にエラーが出たメールアドレスなど

    • ベストアンサー
    • PHP
  • mb_send_mailでのメール送信がエラーしてしまいます。

    PHPを独習しています。 mb_send_mailでのメール送信でつまづいてしまっており、 ご回答いただければ幸いです。 mb_string等の設定は正常に出来ていると思うのですが、 下記のとおり、mailserverに接続できない旨のエラーが 表示されてしまいます。 ●エラー本文 Warning: mb_send_mail() [function.mb-send-mail]: Failed to connect to mailserver at "(契約サーバー)" port 465, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Program Files\Apache Group\Apache2\htdocs\sample\Part4\4-8\4-8-1.php on line 11 ●PHP本文 $mailto = "(自分のアドレス)"; $subject = "test"; $content = "本文test"; $mailfrom = "From:aaaa@bbb.ccc"; $mailfrom="From:" .mb_encode_mimeheader("木村") ." <ddd@eee.fff>"; if (mb_send_mail($mailto,$subject,$content,$mailfrom)){ echo "送信成功"; }else{ echo "送信失敗"; もしお分かりになる方がいれば、 どうかご教授のほど、よろしくお願いします。

    • ベストアンサー
    • PHP
  • mb_send_mailでのメール送信

    会員制サイト内で各種メールの送信にmb_send_mail関数を使用しています。 会員登録の際に、登録申込者側にメールが送信されない事例が何件か発生しており、原因究明中です。 以下、メール送信関数の部分です。 $mail_to = 送信先アドレス $mail_subj = タイトル $mail_comm = 本文 $mail_from = "From: ".送信元アドレス mb_internal_encoding("sjis"); mb_language("Japanese"); mb_send_mail($mail_to,$mail_subj,$mail_comm,$mail_from); 考えられる原因は何があるでしょうか。どなたか詳しい方、回答宜しくお願いします。

    • 締切済み
    • PHP
  • mb_send_mailで複数宛てにtoで送信

    mb_send_mailでbccではなくtoで複数アドレスへ送信したいのですが、メールを受け取った人が他人のアドレスが見えない状態で送信したいです。 カンマで区切った複数アドレスをtoに指定してしまうと他人のアドレスが丸見えですよね? この場合、mb_send_mailをアドレス数分だけループさせて送信するしかないのでしょうか? その場合、100件くらいならsleepさせずにループで100回送信しても問題ないのでしょうか? メールの容量は非常に小さいです。 共用レンタルサーバーでの運用です。 どうぞよろしくお願い致します。

    • ベストアンサー
    • PHP
  • mb_send_mailでメール送信できない

    次のようなコードを使っているのですが、メールも送信できていません。 error_reportingでエラーをチェックしようとしても何も表示されません。 ブラウザには false しか表示されません。 サーバーはxserber,php5.3を利用しています。 メールアドレスの変更、サブジェクトを空、ボディを空、など試してみましたが、 falseのままで一度も成功しません。 phpファイルはUTF-8で作成しています。 ずっと悩んでいます。よろしくお願いします。 function sendMail( $to, $subject, $body ){ error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); //言語設定、内部エンコーディングを指定する mb_language("japanese"); mb_internal_encoding("UTF-8"); $from = FROM_MAIL; //送信 if( mb_send_mail($to,$subject,$body,"From:".$from) ) echo "true"; else echo "false"; }

    • ベストアンサー
    • PHP
  • mb_send_mail()が使えない

    WebからPHPのmb_send_mail関数を使用してメールを送信しようとしていますが、なぜか送信されません。 原因についてお分かりになればお教えください。 また、下記以外に必要な情報があればお教えください。 コマンドライン上でのmailコマンドによるメール送信は可能な状態です。 sendmailの代わりにqmailをインストールしているため、/usr/sbin/sendmailから/var/qmail/bin/sendmailへシンボリックリンクを貼っています。 また、PHPのmail()は"Call to undefined function: mail()"エラーとなりますが、mb_send_mail()ではエラーが発生しません。 ●OS:TurboLinux7 ●言語:PHP4.3.3 ●phpのconfigure時のオプション:  ./configure --with-apxs=/usr/sbin/apxs \  --enable-mbstring ●/usr/local/lib/php.iniのsendmail_path設定:  sendmail_path = /var/qmail/bin/sendmail ●テスト用PHPのソース(実行すると常に「メール送信エラー」になります) <?php $ans = mb_send_mail("メールアドレス","件名","本文"); if ($ans) { print "<P>メール送信完了</P>"; } else { print "<P>メール送信エラー</P>"; } ?>

    • ベストアンサー
    • PHP
  • mb_send_mail()に関しまして

    初めて投稿させて頂きます。 PHPを触り始めて間もない者ですが、よろしくお願い致します。 現在、PHPの勉強を兼ねまして空メールを送るプログラムを作成しております。 フォームにボタンを1つ設け、そのボタンを押下すると指定のあて先に空メールを送るという簡単なものです。 【html内のボタンの設定】 <form name="top" method="post" action="a.php"> <input type="submit" value="空メールを送る"/> </form> 【a.php(正しく送れたかを知るためにメッセージを表示するようにしてあります)】 <html> <head> PHPメールテスト送信 </head> <body> <? $address = '送信先メールアドレス'; $subject = ''; $message = 'PHPからのテストメール'; $header = "Content-Type: text/plain;charset=iso-2022-jp"; mb_language("Japanese"); if(mb_send_mail($address,$subject, mb_convert_encoding($message,"JIS","EUC-JP"),$header))←エラー行 { print("送信成功!!"); } else { print("エラー:送信失敗!!"); } ?> </body> </html> このプログラムを実行すると以下のエラーが発生します。 Warning: mb_send_mail() [function.mb-send-mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\Program Files\xampp\htdocs\top.php on line 15 参考書を見ながらプログラムを作成したのですが、記述、もしくは設定が関係しているのでしょうか。 分かる方には非常にくだらないことかもしれませんが、ご教授お願い致します。

    • 締切済み
    • PHP
  • PHPのmb_send_mailでメール送信する際の差出人名の定義

    宜しくお願いします。 PHPの関数『mb_send_mail』でそのままメール送信すると、受信者側のメーラーの差出人名にメールアドレスしか表示されません。 ここに、こちら側の任意の文字が表示出来るようにするには、どうすれば良いのでしょうか?

    • ベストアンサー
    • PHP
  • mb_send_mailについて

    mb_send_mailにてメール送信をしようとしています。 mb_send_mail(宛先, タイトル, メール内容, 送信者) として送信するのですが、メールの内容に以下のヘッダー情報が付加されてしまいます。 aaa@bbb.com Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit ~以下メール内容~ これらを表示させない方法は無いのでしょうか?

    • 締切済み
    • PHP

専門家に質問してみよう