メールアドレス // メールアドレスのname属性の値が「Email」ではない場合、または変更したい場合は、以下必須設定箇所の「$Email」の値も変更下さい。 /* ★以下設定時の注意点 ・値(=の後)は数字以外の文字列はすべて(一部を除く)ダブルクオーテーション(")、またはシングルクォーテーション(')で囲んでいます。 ・これをを外したり削除したりしないでください。後ろのセミコロン「;」も削除しないください。プログラムが動作しなくなります。 ・またドルマーク($)が付いた左側の文字列は絶対に変更しないでください。数字の1または0で設定しているものは必ず半角数字でお願いします。 */ //--------------------------- 必須設定 必ず設定してください ----------------------- //サイトのトップページのURL ※デフォルトでは送信完了後に「トップページへ戻る」ボタンが表示されますので $site_top = "www.daiharu.co.jp/"; // 管理者メールアドレス ※メールを受け取るメールアドレス(複数指定する場合は「,」で区切ってください) $to = "tokunagakoki@gmail.co.jp"; //フォームのメールアドレス入力箇所のname属性の値(メール形式チェックに使用。※2重アドレスチェック導入時にも使用します) $Email = "Email"; /*------------------------------------------------------------------------------------------------ 以下スパム防止のための設定 ※このファイルとフォームページが同一ドメイン内にある必要があります(XSS対策) ------------------------------------------------------------------------------------------------*/ //スパム防止のためのリファラチェック(フォームページが同一ドメインであるかどうかのチェック)(する=1, しない=0) $Referer_check = 0; //リファラチェックを「する」場合のドメイン ※以下例を参考に設置するサイトのドメインを指定して下さい。 $Referer_check_domain = "php-factory.net"; //--------------------------- 必須設定 ここまで ------------------------------------ //---------------------- 任意設定 以下は必要に応じて設定してください ------------------------ // このPHPファイルの名前 ※ファイル名を変更した場合は必ずここも変更してください。 $file_name ="mail.php"; // 管理者宛のメールで差出人を送信者のメールアドレスにする(する=1, しない=0) // する場合は、メール入力欄のname属性の値を「$Email」で指定した値にしてください。 //メーラーなどで返信する場合に便利なので「する」がおすすめです。 $userMail = 1; // Bccで送るメールアドレス(複数指定する場合は「,」で区切ってください) $BccMail = "info@ideal-net.jp"; // 管理者宛に送信されるメールのタイトル(件名) $subject = "大治ホームページからのお問い合わせ"; // 送信確認画面の表示(する=1, しない=0) $confirmDsp = 1; // 送信完了後に自動的に指定のページ(サンクスページなど)に移動する(する=1, しない=0) // CV率を解析したい場合などはサンクスページを別途用意し、URLをこの下の項目で指定してください。 // 0にすると、デフォルトの送信完了画面が表示されます。 $jumpPage = 0; // 送信完了後に表示するページURL(上記で1を設定した場合のみ)※httpから始まるURLで指定ください。 $thanksPage = "http://xxxxxxxxx.xx/thanks.html"; // 必須入力項目を設定する(する=1, しない=0) $esse = 0; /* 必須入力項目(入力フォームで指定したname属性の値を指定してください。(上記で1を設定した場合のみ) 値はシングルクォーテーションで囲んで下さい。複数指定する場合は「,」で区切ってください)*/ $eles = array('ご用件','会社名','名前','電話番号','Email'); //---------------------------------------------------------------------- // 自動返信メール設定(START) //---------------------------------------------------------------------- // 差出人に送信内容確認メール(自動返信メール)を送る(送る=1, 送らない=0) // 送る場合は、フォーム側のメール入力欄のname属性の値が上記「$Email」で指定した値と同じである必要があります $remail =1; //自動返信メールの送信者欄に表示される名前 ※あなたの名前や会社名など(もし自動返信メールの送信者名が文字化けする場合ここは空にしてください) $refrom_name = "株式会社大治"; // 差出人に送信確認メールを送る場合のメールのタイトル(上記で1を設定した場合のみ) $re_subject = "お問い合わせ頂きありがとうございました【株式会社大治】"; //フォーム側の「名前」箇所のname属性の値 ※自動返信メールの「○○様」の表示で使用します。 //指定しない、または存在しない場合は、○○様と表示されないだけです。あえて無効にしてもOK $dsp_name = '名前'; //自動返信メールの文言 ※日本語部分は変更可です $remail_text = <<< TEXT この度はお問い合わせをいただき、誠にありがとうございます。 内容を確認の上、後ほど担当よりご連絡をさせて頂きます。 なお、お問い合わせの内容によっては、ご回答まで数日かかる場合や、 ご回答いたしかねる場合がございますので、予めご了承下さい。 お問い合わせ頂いた内容は以下になります。 ご確認をお願い致します。 TEXT; //自動返信メールに署名を表示(する=1, しない=0)※管理者宛にも表示されます。 $mailFooterDsp = 1; //上記で「1」を選択時に表示する署名(FOOTER~FOOTER;の間に記述してください) $mailSignature = <<< FOOTER このメールはシステムより自動配信されています。 返信は受付できませんので、ご了承ください。 万一弊社より連絡が無い場合は、お手数ですが下記までご連絡お願い致します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 株式会社大治 東京都中央卸売市場・大田市場の青果物専門の仲卸 〒143-0001 東京都大田区東海3丁目2番6号 ●お問い合わせ TEL:03-5492-3185(代) FAX:03-5492-3441 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ FOOTER; //---------------------------------------------------------------------- // 自動返信メール設定(END) //---------------------------------------------------------------------- //メールアドレスの形式チェックを行うかどうか。(する=1, しない=0) //※デフォルトは「する」。特に理由がなければ変更しないで下さい。メール入力欄のname属性の値が上記「$Email」で指定した値である必要があります。 $mail_check = 1; //------------------------------- 任意設定ここまで --------------------------------------------- // 以下の変更は知識のある方のみ自己責任でお願いします。 //---------------------------------------------------------------------- // 関数定義(START) //---------------------------------------------------------------------- function checkMail($str){ $mailaddress_array = explode('@',$str); if(preg_match("/^[\.!#%&\-_0-9a-zA-Z\?\/\+]+\@[!#%&\-_0-9a-z]+(\.[!#%&\-_0-9a-z]+)+$/", "$str") && count($mailaddress_array) ==2){ return true; } else{ return false; } } function h($string) { return htmlspecialchars($string, ENT_QUOTES,'utf-8'); } function sanitize($arr){ if(is_array($arr)){ return array_map('sanitize',$arr); } return str_replace("\0","",$arr); } if(isset($_GET)) $_GET = sanitize($_GET);//NULLバイト除去// if(isset($_POST)) $_POST = sanitize($_POST);//NULLバイト除去// if(isset($_COOKIE)) $_COOKIE = sanitize($_COOKIE);//NULLバイト除去// //---------------------------------------------------------------------- // 関数定義(END) //---------------------------------------------------------------------- $copyrights = '- PHP工房 -'; if($Referer_check == 1 && !empty($Referer_check_domain)){ if(strpos($_SERVER['HTTP_REFERER'],$Referer_check_domain) === false){ echo '
リファラチェックエラー。フォームページのドメインとこのファイルのドメインが一致しません
';exit(); } } $sendmail = 0; $empty_flag = 0; $post_mail = ''; $errm =''; $header =''; foreach($_POST as $key=>$val) { if($val == "confirm_submit") $sendmail = 1; if($key == $Email && $mail_check == 1){ if(!checkMail($val)){ $errm .= "「".$key."」はメールアドレスの形式が正しくありません。
\n"; $empty_flag = 1; }else{ $post_mail = h($val); } } } // 必須設定項目のチェック if($esse == 1) { $length = count($eles) - 1; foreach($_POST as $key=>$val) { if($val == "confirm_submit") ; else { for($i=0; $i<=$length; $i++) { if($key == $eles[$i] && empty($val)) { $errm .= "「".$key."」は必須入力項目です。
\n"; $empty_flag = 1; } } } } foreach($_POST as $key=>$val) { for($i=0; $i<=$length; $i++) { if($key == $eles[$i]) { $eles[$i] = "confirm_ok"; } } } for($i=0; $i<=$length; $i++) { if($eles[$i] != "confirm_ok") { $errm .= "「".$eles[$i]."」が未選択です。
\n"; $eles[$i] = "confirm_ok"; $empty_flag = 1; } } } // 管理者宛に届くメールの編集 $body="「".$subject."」からメールが届きました\n\n"; $body.="===========================\n\n"; foreach($_POST as $key=>$val) { $out = ''; if(is_array($val)){ foreach($val as $item){ $out .= $item . ','; } if(substr($out,strlen($out) - 1,1) == ',') { $out = substr($out, 0 ,strlen($out) - 1); } }else { $out = $val;} //チェックボックス(配列)追記ここまで if(get_magic_quotes_gpc()) { $out = stripslashes($out); } if($out == "confirm_submit" or $key == "httpReferer") ; else $body.="【 ".$key." 】 ".$out."\n"; } $body.="\n===========================\n"; $body.="送信された日時:".date( "Y/m/d (D) H:i:s", time() )."\n"; $body.="送信者のIPアドレス:".$_SERVER["REMOTE_ADDR"]."\n"; $body.="送信者のホスト名:".getHostByAddr(getenv('REMOTE_ADDR'))."\n"; $body.="問い合わせのページURL:".@$_POST['httpReferer']."\n"; if($mailFooterDsp == 1) $body.= $mailSignature; //--- 管理者宛に届くメールの編集終了 ---> if($remail == 1) { //--- 差出人への自動返信メールの編集 if(isset($_POST[$dsp_name])){ $rebody = h($_POST[$dsp_name]). " 様\n";} $rebody.= $remail_text; $rebody.="\n===========================\n\n"; foreach($_POST as $key=>$val) { $out = ''; if(is_array($val)){ foreach($val as $item){ $out .= $item . ','; } if(substr($out,strlen($out) - 1,1) == ',') { $out = substr($out, 0 ,strlen($out) - 1); } }else { $out = $val; }//チェックボックス(配列)追記ここまで if(get_magic_quotes_gpc()) { $out = stripslashes($out); } if($out == "confirm_submit" or $key == "httpReferer") ; else $rebody.="【 ".$key." 】 ".$out."\n"; } $rebody.="\n===========================\n\n"; $rebody.="送信日時:".date( "Y/m/d (D) H:i:s", time() )."\n"; if($mailFooterDsp == 1) $rebody.= $mailSignature; $reto = $post_mail; $rebody=mb_convert_encoding($rebody,"JIS","utf-8"); $re_subject="=?iso-2022-jp?B?".base64_encode(mb_convert_encoding($re_subject,"JIS","utf-8"))."?="; if(!empty($refrom_name)){ $default_internal_encode = mb_internal_encoding(); if($default_internal_encode != 'utf-8'){ mb_internal_encoding('utf-8'); } $reheader="From: ".mb_encode_mimeheader($refrom_name)." <".$to.">\nReply-To: ".$to."\nContent-Type: text/plain;charset=iso-2022-jp\nX-Mailer: PHP/".phpversion(); }else{ $reheader="From: $to\nReply-To: ".$to."\nContent-Type: text/plain;charset=iso-2022-jp\nX-Mailer: PHP/".phpversion(); } } $body=mb_convert_encoding($body,"JIS","utf-8"); $subject="=?iso-2022-jp?B?".base64_encode(mb_convert_encoding($subject,"JIS","utf-8"))."?="; if($userMail == 1 && !empty($post_mail)) { $from = $post_mail; $header="From: $from\n"; if($BccMail != '') { $header.="Bcc: $BccMail\n"; } $header.="Reply-To: ".$from."\n"; }else { if($BccMail != '') { $header="Bcc: $BccMail\n"; } $header.="Reply-To: ".$to."\n"; } $header.="Content-Type:text/plain;charset=iso-2022-jp\nX-Mailer: PHP/".phpversion(); if(($confirmDsp == 0 || $sendmail == 1) && $empty_flag != 1){ mail($to,$subject,$body,$header); if($remail == 1) { mail($reto,$re_subject,$rebody,$reheader); } } else if($confirmDsp == 1){ /* ▼▼▼送信確認画面のレイアウト※編集可 オリジナルのデザインも適用可能▼▼▼ */ ?>