• 締切済み

メールが上手く飛びません

初めて質問させていただきます。PHP初心者です。 下記のコードで退会者連絡を社内にメールで流そうとしているのですが、 Toアドレスがどうやってもおかしなアドレスに勝手になってしまい 原因がわからずじまいになってしまって困っております・・・。 コードの次にエラーの内容について記述しておきます。 ↓ココからコード -------------------------------------------------------------- <?php $mailname = $_POST["名前"]; $mailemail= $_POST["email"]; $mailreason = $_POST["退会理由"]; $carbon = $_POST["carbon"]; ?> <?php mb_language(”Japanese”); mb_internal_encoding(”SJIS”); mb_detect_order(”ASCII, JIS, UTF-8, EUC-JP, SJIS”); //宛先設定 $to = ($carbon); //サブジェクト設定 $subject = stripslashes($_POST["名前"])."様よりお知らせメール停止処理申し込みが届きました。"; //メッセージ送信準備 $from = "aaa@aaa.com"; $header = "From: $from"; $msg = <<<EOF {$mailname}様よりお知らせメール停止処理申し込みが届きました。 ----------------------------------------------- [名前] {$mailname} [email] {$mailemail} [退会理由] {$mailreason } ----------------------------------------------- EOF; // メール を送信 $r = mb_send_mail($to, $subject, $msg, $header); if($r) { //echo ”メール送信成功”; }else{ //echo ”メール送信失敗”; } ?> ちなみに、 //宛先設定 $to = ($carbon); の後ろでechoをさせて中身を確認しても、 意図しているアドレスが入っているのは確認しています。。。 -------------------------------------------------------------- このコードで送ってみると、 例えば $carbon の中に「yuko8320_code@yahoo.jp」というアドレスが入ったとして、エラーメッセージを見てみると何故か、 「yuko8320_code@yahoo.yahoo.jp, jp@yahoo.jp」というアドレス宛に送ろうとしてしまいます。 もちろん、そんなアドレスは存在しないのでfailure noticeで落ちてしまうということになっています。。。 どうかご教授いただけませんでしょうか?

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

みんなの回答

回答No.1

直接、 $r = mb_send_mail("yuko8320_code@yahoo.jp", $subject, $msg, $header); ではどうですか? あと、 mail("yuko8320_code@yahoo.jp", "test", "test", "From:test@hogehoge.com"); で試して、これでもyuko8320_code@yahoo.yahoo.jp, jp@yahoo.jpになるようなら、メールサーバーのログを確認した方が懸命かと思います。

関連するQ&A

  • phpのメール送信

    ホームページにメールフォームを作りたいのですが、 送信できなくて困っています。 ソースは次の通りです。 <?php echo "<html>"; echo "<head>"; echo "<title>メールフォーム(送信処理)</title>"; echo "</head>"; echo "<body>"; mb_language("japanese"); mb_internal_encoding("UTF-8"); $to = "アドレスA"; $subject = "件名"; $from = "アドレスB"; $header = "From: ". $from; //本文格納 $mailbody = "■お名前:" . $_post["name"] ."\n"; $mailbody .= "■内容:" . $_post["sentaku"] ."\n"; if(mb_send_mail($to, $subject, $mailbody, $header)){ echo "送信しました。"; }else{ echo "送信できませんでした。"; } echo "</body>"; echo "</html>"; ?> またif文の日本語が文字化けしてしまいます。 メール送信できて、文字化けもないようにしたいです。 よろしくお願いします。

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

    現在、 <?php //HTML内容出力 echo "<html>"; echo "<head>"; echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">"; echo "<title>メールフォーム(送信処理)</title>"; echo "</head>"; echo "<body>"; //文字コード設定 mb_language("ja"); mb_internal_encoding("utf-8"); //*環境設定************************************* //件名 $subject = "お問い合わせがありました"; //管理人メールアドレス(宛先) $to = "○○@gmail.com"; //********************************************** //**POSTデータ受け取り************************** //差出人メールアドレス格納 $header = "From: ". $_POST['email']; //本文格納 $body = "■お名前:" . $_POST['name'] ."\n"; $body .= "■内容:" . $_POST['message'] ."\n"; //************************************************ if(mb_send_mail($to,$subject,$body,$header)){ echo "メール送信しました。"; }else{ echo "メール送信失敗しました。"; } //HTML内容出力 echo "</body>"; echo "</html>"; ?> こういう感じでメール送信フォームのPHPを正常稼働させているのですが、 これに送信者への確認メールを送信するには、どのように追記すればよろしいでしょうか? よろしくご教授の方、お願いいたします。

    • 締切済み
    • 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($to, $subject, $message, $from); でフォームのメール送信を作ったのですが、(エラーはでません)メールが送信されません。PHPのバージョンは4.23 HTMLでは <FORM METHOD="POST" ACTION="send.php" ENCTYPE="text/plain"> <input type="hidden" name="subject" value="質問"> </FORM> 省略 send.phpでは <?php mb_language("ja"); mb_send_mail($mail, $subject, $message, $from); ?> どこがおかしいのかわかりません? なにかヒントをいただけますか?

    • 締切済み
    • PHP
  • メール送信で文字化け

    メール送信で件名が文字化けしてしまいます。 カテゴリ内には同様の質問もあるようですが、 解決できないので、投稿しました。 以下のようなコードです。 $to= "aa@aa.aa"; $from= "bb@bb.bb"; $subject= "メール送信テスト"; $headers= "From:$from"; $subject = i18n_mime_header_encode(i18n_convert($subject, "JIS")); $name= $_POST["name"]; $sub= $_POST["sub"]; $body= $_POST["body"]; $message="$name \n $sub \n $body \n"; if(mail($to, $subject, $message,$headers)){ echo "送信完了"; }else{ echo "送信エラー"; } ちなみに、 $subject= base64_encode($subject); とかもやってみたけど駄目でした。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPとFALSH連携メール

    mail.fla と flash_mail.php に下記のように記述してます。 flash_mail.php で、var_dump() したら、すべてNULL になります。 .fla ファイルのシンタックスは通ってるのですが、 Action Scriptのどこかが間違っていると思います。 どこが間違っているのかお教え願いますでしょうか。 【mail.fla】 1フレーム目(キーフレーム)に書きを記述 LV1 = new LoadVars(); LV1.shimei = shimei; LV1.email = email; LV1.subject = subject; LV1.honbun = honbun; LV1.sendAndLoad("flash_mail.php", LV1, "POST"); submit_btn.onRelease = function(){ getURL("flash_mail.php"); } --------------------------------------------------------------------------- 【flash_mail.php】 <?php $shimei = $_POST['shimei']; $email = $_POST['email']; $subject = $_POST['subject']; $honbun = $_POST['honbun']; var_dump($shimei); var_dump($email); var_dump($subject); // 送信者へメール $to = $email; $from = "~"; $subject = mb_convert_encoding($subject, "utf-8", "auto"); // utf-8にエンコード $honbun = mb_convert_encoding($honbun, "utf-8", "auto"); mb_internal_encoding("UTF-8"); mb_send_mail($to, $subject, $honbun, $from); echo 'test complete!'; ?>

    • ベストアンサー
    • PHP
  • 他の人にアドレスが見えないようにする送信方法は・・・?

    いつも大変お世話になっております。 今SQLより抽出したアドレスに一括してメールを送信するプログラムを作っています。 最終的に送信のプログラムは、下記の通りです。 $to = $_POST['mail']; $subject = $_POST['subject']; $body = $_POST['message']; $from = "送信者"."<アドレス>"; mb_send_mail($to,$subject,$body,"From:".$from); しかしながら$_POST['mail'];は配列で格納しているためカンマ区切りのアドレスとなっています。 (aaa@yahoo.co.jp,bbb@yahoo.co.jp・・・) 実際テストしたところ宛先にすべてのアドレスが表示されてしまいました(x_x;) どうにか他の人のアドレスまで表示させないようにはできないでしょうか? あと素朴な疑問なのですが、送信した際、不達となったメールデータはどこにいっているのでしょうか? サーバーのどこかに格納、または送信者に返ってくる、もしくは不達のメッセージは自動でサーバーが削除しているのでしょうか? サーバーはチカッパ!を利用しています。 何卒よろしくお願い申し上げます。

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

    PHPでメール送信プログラムを組んだのですが、 エラーが発生してメールが送信できません。 いろいろ試したのですが、解決方法が見いだせなかったため、 書き込みをいたしました。 以前、XPで開発をしていたときは、メール送信ができたと思ったのですが。。 環境は以下の通りです。 WindowsVista PHP5.2.5 Apache2.2.6 melon1.62 実行したプログラムは以下の通りです。 $to = "abc@yahoo.co.jp"; $from = "abc@yahoo.co.jp"; $subject = "タイトル"; $message = "メッセージ"; $header = "From: $from"; mb_send_mail($to, $subject, $message, $header); abc@yahoo.co.jpは、実際には自分のヤフーアドレスで入力しました。 エラーは、melonのコンソールに、 421 temporary sender lookup fail と表示されます。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • メールフォームについての質問です。

    PHP初心者です。 メールフォームを作成しているのですが、入力画面と確認画面はできているのですが、送信完了の画面で苦戦しています。入力内容を送信先へ反映させたいのですが、うまくいきません。 ちなみにXAMPP、qdmailを使っています。 詳しい方、どのあたりに問題があるのか教えてください。 以下、ソースです。 <?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//ja" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Language" content="ja"> <title>送信完了しました。</title> </head> <body> <h1>送信完了しました。</h1> <?php include_once('qdmail.php'); // mb_Language("japanese"); mb_internal_encoding("utf-8"); print_r($_POST); if(!empty($_POST['mail'])){ $to=$_POST['mail']; $subject=$_POST['sub']; $name=$_POST['name']; $ruby=$_POST['ruby']; $zip=$_POST['zip']; $address=$_POST['address']; $telephone=$_POST['telephone']; $mail=$_POST['mail']; $question=$_POST['question']; } // $zip=mb_convert_kana($_POST['zip'],'a','utf-8'); if(!preg_match("/\A\d{3}\-\d{4}\z/",$zip)){ $zip="正しい郵便番号を入力してください"; } // $param = array( 'host'=>'??????', 'port'=> 587 , 'from'=>'return_path_address@example.com', 'protocol'=>'SMTP_AUTH', 'user'=>'????@????????', 'pass' => '????????', ); $to = array( '???@?????????' , '宛先日本語名' ); $from = array( 'from@example.com' , '送り元日本語名' ); $subject = 'メールのテスト(テキスト)'; $body = $name."\n".$ruby."\n".$zip."\n".$mail."\n".$address."\n".$telephone."\n".$mail."\n".$question; $option = array('type'=>'text','smtp'=>$param); $flag = qd_send_mail($option , $to , $subject , $body , $from); //$success=mb_send_mail($to,$sub,"名前:".$name."フリガナ:".$ruby."郵便番号:".$zip." 住所:".$address." TEL:".$telephone." ご質問等:".$question."from:".$from); if($flag){ echo('送信しました'); } else{ echo('送信失敗!!'); } ?> </body> </html>

    • 締切済み
    • PHP
  • mb_send_mail()関数のタイトルで特定の文字が入ると送信できません。

    環境:WinXP+Apache2+PHP5 mb_send_mail()でタイトルに ”時間は何時でもokです。” を入力すると、送信に失敗します。 コードは以下の通りです。よろしくお願いします。 <?php $address=$_POST['address']; $subject=$_POST['subject']; $message=$_POST['message']; $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("エラー:送信に失敗しました"); } ?> ($subject="時間は何時でもokです。"にするとエラーになります。)

    • 締切済み
    • PHP

専門家に質問してみよう