• ベストアンサー
  • 困ってます

自動返信メールの不具合

お世話になります 現在HP上のフォームから入力があった場合 自動返信メールをmb_send_mail関数を用いて行っています ところが、いつもはちゃんと送られる自動返信メールが たまに送られない場合があります 頻度としてはまちまちなのですが 300回中1回ぐらいです これはどのような原因が考えられるのでしょうか? ソースは $mail_to = "aaa@aaa.jp"; $mail_subject = "自動返信"; $mail_body = "内容"; $mail_header = "From: info@aaa.jp\n"; mb_send_mail("$mail_to","$mail_subject","$mail_body","$mail_header"); という感じにしています 宜しくお願いします

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数187
  • ありがとう数1

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

  • ベストアンサー
  • 回答No.3

双方の使用している環境/設定によりますが、サーバ側(ネットワーク)の問題も考えられます。 もし、相手先ドメインのMXレコードの情報が得られなければ、あて先がないというエラーになりますし。 MXレコードの情報は得られるが、メール・サーバへの接続ができなければ、メール・サーバが(一時的に)ダウンしているものとみなし、しばらく待ってから再度送信を試みます。 もし、可能であればこの辺のlogの確認もされてみては! あまり具体的な回答ではなく申し訳ございません。 私も「自動返信メール」を構築していますが、やはり入力ミスはかなりあります。 入力チェックを行う事で、ミスの回数は減りましたよ。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

レスありがとうございます やはり、メールサーバのダウンか入力ミスしか原因が考えられないですよね サーバのログはレンタルサーバなので見れないのが残念です ありがとうございました

関連するQ&A

  • 自動返信メールへの画像添付

    お世話になります 以下の用にmail.txtというテキストメールを自動返信させていますが、これにGIFやJPEGの画像を添付させたいと思っているのですがやり方が判りません。どなたかご教授願います。 $fp = fopen("mail.txt", "r"); $msg = ""; while ($x = fgets($fp)) { $x = mb_ereg_replace("%%EMAIL%%", $_SESSION['abc'], $x); $x = mb_ereg_replace("%%NAME%%", $name, $x); $msg .= $x; } $subject ="自動返信メール"; $header = "Content-type: text/plain;charset=\"iso-2022-jp\""; mb_language("Japanese"); mb_send_mail(gpc_stripslashes($_POST['mail']), $subject, mb_convert_encoding( $msg, "JIS","EUC-JP") ,"From: abc@****.com",$header);

    • 締切済み
    • PHP
  • フォーム入力から携帯への自動返信メールについて

    PHPを使用したフォームから自動返信メールを入力されたアドレスへ送信しているのですが、DOCOMOには自動返信メールが届かないのです。 PCも併用しているので、PCと携帯と振り分けてページを作成しています。 無料で使えるM-FORMのプログラムを使用しています。 $header2 = "From: ".mb_encode_mimeheader($to_name)."<$to>"; if (mb_send_mail($mail, $subject, $naiyou_k,$header2) ){....} ヘッダが悪いのでしょうか? 宜しくお願いいたします。

    • 締切済み
    • PHP
  • mail()でメール送信で、特定のメーラーの受信のみ件名が文字化け

    PHPでメール配信プログラムを作っております。 配信テストを行なったのですが、特定のメーラーで件名が文字化けしてしまう現象に見舞われしてしまい、対処法を探しております。 ■テストメーラー 1、OutlookExpress 2、EdMax 3、Thunderbird ■ソース(一部抜粋) mb_language('Japanese'); mb_internal_encoding("SJIS"); //1 $subject = mb_encode_mimeheader($subject); //2 $subject = mb_convert_encoding($subject,"JIS","SJIS"); $send_body = mb_convert_encoding($send_body,"JIS","SJIS"); $header = "From: $fronmail.\n"; $header .= "Return-path: $return\n"; $header .= "Reply-To: $fronmail.\n"; //3 $header .= "Subject: $subject\n"; $header .= "Message-ID: {$MessageID}\n"; $header .= "MIME-Version: 1.0\n"; $header .= "Content-Type: text/plain; charset=\"ISO-2022-JP\"\n"; $header .= "Content-Transfer-Encoding: 7bit\n"; //4 $header .= "Content-Transfer-Encoding: base64\n"; $header .= "X-Mailer:PHP/".phpversion(); $chk_mail = mail($to_email,$subject,$send_body,$header); ■設定値 $body = $subject = "日本語テスト"; メールアドレスはプロバイダなどが発行しているもの ■現象 ソースのままだと1、2は件名は文字化けせず、3は文字化け(???{????? ※?はひし形に囲まれた?です)します。 それぞれコメントアウトを外したり切り替えたりするのですが、1、2も件名が文字化けになったりします。 3は基本的にどのコメントアウトを有効にしても文字化けのままです。 $subjectに関しては、mail関数のものが優先のようでして、試しに空にしてみたのですが、件名も空のままでした。 何故この形式を取っているかというと、半角カナを使いたいが為でして、mb_send_mailだと半角カナが使えなかったような気がしてmailを使っております。 あと、popenで直接コマンドを打つという手もありそうですが、sendmailではなくpostfixなのですがpostfixでコマンドをという手段を探した方が良いのでしょうか? 出来ればmailを使って文字化けもしない方向を希望なのですが、それが駄目なら他の手段など誘導していただければ幸いです。 宜しくお願いいたします。

    • ベストアンサー
    • PHP

その他の回答 (2)

  • 回答No.2

自動返信メールが300回中に1回との事ですが、 その後も同一返信先に送れているのでしょうか? 確認はできますか? コードを拝見したところ問題はないと思いますが、 全体の処理を見てみないと良くはわかりません。 もし、返信されないアドレスがわかれば、nslookup等でMX検索をしてみて下さい。

共感・感謝の気持ちを伝えよう!

質問者からの補足

レスありがとうございます 遅れてすいません 返信されないアドレスはわかります 向こうの入力間違いもあるのですが 自動返信は送信できないですが そのあと普通にメールを遅れる場合もあります 全体の処理としてはPOSTで受け取ったデータをそのまま mb_send_mail関数で送信しているだけです サーバー関連なんかなっと思ったりしますが どうでしょうか?

  • 回答No.1

相手のメールアドレスは携帯とかですか? RFCに準拠していないメールアドレスの場合は届かない可能性があります。

共感・感謝の気持ちを伝えよう!

質問者からの補足

レスありがとうございます 相手のメールアドレスはPCのみです メールアドレスの形式としては aaa@aaa.jpのように 形式にのっとった形になってはいるのですが 実際、そのメールアドレスが存在するかどうかはわかりません メールアドレスの存在チェックができればいいのですが・・・

関連するQ&A

  • Gmailへのメール送信で文字化け

    PHPでフォームメールの作っているのですが、Gmailで送信したメールを受け取ると□□□□□というように文字化けが起こっていまいます。 アウトルック、ホットメールなどは大丈夫なのですが、グーグルのGmailだけ駄目なようです。なぜ文字化けするのでしょうか? mb_language("Ja"); $header = "From: reminder@aaa.com\r\n"; $header .= "MIME-Version: 1.0\r\n"; $header .= "Content-Type: text/plain;charset=ISO-2022-JP\r\n"; $header .= "Content-Transfer-Encoding: base64"; $to = "aaa@gmail.com"; $subject = "送信テスト"; $body = "本文テスト本文テスト"; $subject = base64_encode($subject); $subject = mb_convert_encoding($subject,"ISO-2022-JP"); $subject = "=?ISO-2022-JP?B?" . $subject . "=?="; $body = base64_encode($body); $body = mb_convert_encoding($body,"ISO-2022-JP"); $success = @mail($to,$subject,$body,$header); if($success) print "成功"; else print "失敗";

    • ベストアンサー
    • PHP
  • メールのヘッダーで「ま」が文字化け

    お世話になります。 mb_send_mail関数で、メールの差出人、またはあて先で、「ま」の文字を使用すると、「~」(チルダ)に化けてしまいます。 動作環境は下記の通りです。  OS:Max OS X  PHP:4.4.1  ソースコードの文字コード:Shift_JIS 具体的なソースは下記の通りです。  mb_language("ja");  mb_internal_encoding('SJIS');  $mail_to = mb_encode_mimeheader('まみむめも',"JIS") . '<hoge@hogehoge>';  $mail_subject = 'まみむめも';  $mail_body = 'まみむめも';  $mail_header = "From: " . mb_encode_mimeheader('まみむめも',"JIS") . '<hoge@hogehoge>' . "\n";  mb_send_mail($mail_to,$mail_subject,$mail_body,$mail_header); これで送られるメールは下記の通りです。  差出人:~みむめも<hoge@hogehoge>  あて先:~みむめも<hoge@hogehoge>  件名 :~みむめも  本文 :まみむめも 本文は文字化けしないのですが、メールヘッダーに関与する項目で「ま」が「~」に文字化けしてしまいます。 お手数ですが、よろしくお願いいたします。

    • 締切済み
    • PHP
  • if( mb_send_mail( ・・・) ) {・・・} とするとメールが送信されてしまいます

    下記のようにすると同じメールが2発送信されてしまいます。 ("当たり前だ!" と言われそうですが) if( $reqmailad != "" ){ mb_send_mail( $reqmailad, $subject, $body, $header ); } if( mb_send_mail( $reqmailad, $subject, $body, $header ) ){ echo "${reqmailad} 宛にメールを送信しました。"; } 「$reqmailad != ""」 ならばメールを送信し、メール送信を確認の上、 「echo "${reqmailad} 宛にメールを送信しました。";」 とやりたい(メール送信は1発だけ)のですが、未熟者の私にはその方法がわかりません。 なにとぞお助けくださいませ。

    • ベストアンサー
    • PHP
  • メールの文字化け

    define( 'CNST_MAIL_REPLY' , 'aaa@aaa.co.jp' ); define( 'CNST_MAIL_FROM_ADDR' , 'aaa@aaa.co.jp' ); define( 'CNST_MAIL_ERROR' , 'aaa@aaa.co.jp' ); define( 'CNST_MAIL_FROM_NAME' , 'ここが、差出人で、日本語表示したいんですが文字化け' ); define( 'CNST_MAIL_TO_ADDR' , 'aaa@aaa.co.jp' ); //* メールアドレス設定 *// $mail_header = ""; if ( CNST_MAIL_REPLY != "") { if ( $mail_header != "") { $mail_header .= "\n"; } $mail_header .= "Reply-To: ".CNST_MAIL_REPLY; } $from = "From: "; if ( CNST_MAIL_FROM_NAME != "") { $from .= "\"".CNST_MAIL_FROM_NAME."\""; } if ( CNST_MAIL_FROM_ADDR != "") { $from .= " <".CNST_MAIL_FROM_ADDR.">"; } if ( $mail_header != "") { $mail_header .= "\n"; } $mail_header .= $from; if( CNST_MAIL_ERROR != "") { $errors_to = "Errors-To: "; $errors_to .= CNST_MAIL_ERROR; if( $mail_header != "") { $mail_header .= "\n"; } $mail_header .= $errors_to; $sub_parm = "-f".CNST_MAIL_ERROR; $mail_subject = mb_convert_encoding($mail_subject, "ISO-2022-JP","SJIS"); $mail_text = mb_convert_encoding($mail_text, "ISO-2022-JP","SJIS"); $mail_header = mb_convert_encoding($mail_header,"ISO-2022-JP","SJIS"); // メール送信処理 mb_language("Japanese"); mb_send_mail($to, $mail_subject, $mail_text, $mail_header, $sub_parm); 上のメール送信プログラムなんですが、 差出人の名前が文字化けしてしまいます。 質問のしかたがよくわからなかったのでプログラムをのせました。 アドバイス宜しくお願いします。

    • ベストアンサー
    • PHP
  • PHPでmailもしくはmb_send_maiを使って文字化け

    いろいろサイトで調べてもはっきりした答えがないので質問しました。 パターン1・・・mail関数 $mail_subject = '入会申込受付のご連絡'; $mail_subject = base64_encode($mail_subject); $mail_subject = '=?ISO-2022-JP?B?' . $mail_subject . '?='; $header = "From: $sousin_email\n"; $header .= "Reply-To: $email\n"; $header .= "Date: $mail_date\n"; $header .= "X-Mailer: PHP/".phpversion()."\n"; $mail_body= "こんにちは"; mail($myemail, $mail_subject,$mail_body,$header);//ユーザーへ この場合、OutLook、Docomo、AUのメーラーでは問題なしですが、Vodafoneの3G機種(703SH)では件名・本文が文字化け パターン2・・・mb_send_mail $mail_subject = '入会申込受付のご連絡'; $mail_body= "こんにちは"; $header = "From: $sousin_email\n"; $header .= "Reply-To: $email\n"; $header .= "Date: $mail_date\n"; $header .= "X-Mailer: PHP/".phpversion()."\n"; mb_language("Japanese"); mb_internal_encoding("sjis"); mb_send_mail($myemail, $mail_subject,$mail_body,$header);//ユーザーへ この場合、本文はvodafoneも含め文字化けしないのですが、件名が「e会申込受付のご連絡」となってしまい、入という文字が表示されません。いくつかの文字がそのように化けるのですが何が化けるのかは検証はできておりません。 mailでもmb_send_mailでもいいのですが、すっきりとほどんどのメーラーで対応できる方法はあるのでしょうか? どなたかご教授お願いします。

    • 締切済み
    • PHP
  • mb_send_mail で一部文字化けします

    mb_send_mail で一部文字化けします。 URLやキーワードとかそういった文字をいれた変数です。 基本UTF8で作ってます。 mb_language("Japanese"); mb_internal_encoding("UTF-8"); mb_regex_encoding("UTF-8"); mb_detect_order("ASCII, JIS, UTF-8, EUC-JP, SJIS"); $subject = "てすと"; $to =$email; $header .= "From:admin@example.jp\n"; $header .= "Return-Path:admin@example.jp\n"; $header .= "Date:"; $header .= date("D, d M Y H:i:s O"); $body .= "\n"; $body .= "◆URL:"; $body .= $url[$count]; mb_send_mail($to,$subject,$body,$header);

    • 締切済み
    • PHP
  • メール送信プログラムのFrom:について

    <?php $to="mail@xx.com"; $subject="php test"; $message="phpのテスト"; $header="From:". mb_encode_mimeheader("名前") . "<mail@xx.com>"; mb_send_mail($to, $subject, $message, $header); ?> 送信者名に名前を入れたいのですが、プログラムがまずいようで、何がいけないのでしょうか?

    • ベストアンサー
    • PHP
  • ヒアドキュメントを利用してメール送信(文字色変更)

    ヒアドキュメントを利用してメール送信(文字色変更) 使用php : php5 お世話になっております。 ヒアドキュメントで文章を作成して、mb_send_mail関数でメール送信を行っております。 メール送信は問題ありませんが、ある一部分の文章に色をつけたいと思います。 何か良い方法はないでしょうか。 例) $body1 =<<<BODY1 ★申込完了メール★\n \n このたびはお申込みありがとうございます。\n \n 注意点\n \n ※注意してください。\n ←この箇所のみ赤字・太字 \n BODY1; $ret = mb_send_mail($to,$subject,$body1,$header);

    • 締切済み
    • PHP
  • PHPの自動返信メールフォームについてです。

    PHPの自動返信メールフォームについてです。 docomoの携帯メールを上手く受け取れません。 アンケートの取る為の自動返信メールフォームを作成しています。 メールを受け取る事は出来るのですが DOCOMOの携帯の場合、送信者の メールアドレスが”で囲まれて、後ろに@サーバ名が付きます。 ↓こんな感じ "メールアドレス"@サーバ名 メールを返信しようとすると こういう記述があります。 <"=?ISO-2022-JP?B?Zm9yY2VfMS5mLXkucG9vQHQudm9kYWZvbmUubmUuanA@サーバ名> PHPのソースは mb_language("Ja") mb_internal_encoding("sjis") @mb_send_mail($conf[test@xxx.jp],$title,$mail_str,'From:'.mb_encode_mimehheader("$mail")); mailは変数です。 どなたか対処方法をご教唆願います。

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

    いつもお世話になっております。 mail()、mb_send_mail() が使用できないため、smtp から 直接メール送信をしようと考えております。 (なぜ、mail()、mb_send_mail() が使用できないのかはわかりません。) // 件名 $subject = mb_convert_encoding($subject, "JIS", "EUC-JP"); $subject = '=?iso-2022-jp?B?' . base64_encode($subject) . '?='; // 本文 $msg = mb_convert_encoding($msg, "JIS", "EUC-JP"); // 送信 $fp = fsockopen('localhost', 25, $err_str, $err_no, 5); $header = "From: " . $from . "\r\n"; $header .= "To: " . $to . "\r\n"; $header .= "Reply-To: " . $from . "\r\n"; $header .= "Subject: " . $subject . "\r\n"; $header .= "Mime-Version: 1.0\r\n"; $header .= "Content-Type: Text/Plain; charset=iso-2022-jp\r\n"; $header .= "Content-Transfer-Encoding: 7bit\r\n"; fputs($fp, "HELO " . $smtp . "\r\n" ); fputs($fp, "MAIL FROM:" . $from . "\r\n"); fputs($fp, "RCPT TO:" . $to . "\r\n"); fputs($fp, "DATA \r\n"); fputs($fp, $header . $msg . "\r\n.\r\n"); fputs($fp, "QUIT \r\n"); 上記のように書きました。 一回目は送信できるのですが、二回目以降が送信できません。 サーバを再起動するとまた送信できるようになるのですが、 二回目以降はやはり送信できません。 何か原因が考えられますでしょうか。 ご教示よろしくお願いいたします。

    • 締切済み
    • PHP