// mailform.php release 2 Copyright 2006 TAKEDA Hiroyuki // http://atashi.net/inu/ja/software/mailform.html // [基本仕様] // // PHPで書かれています // UTF-8で書かれています // METHOD="POST"専用です // http://captcha.jpのCAPTCHAサービスに対応しています // // [設置方法] // // PHPが実行可能なサーバで、以下のファイルを設置します。 // 括弧内の数字はパーミッションの値です。 // // /public_html/(任意のディレクトリ) // |-- mailform.php (644 or 604) // |-- des.php(644 or 604) // // mailform.php // スクリプト本体です。 // des.php // DES暗号化ライブラリです。 // // [履歴] // 2006-10-10 release 2 DES暗号化、captcha4.phpを使うように変更 // 2006-07-06 release 1 作った // //HTTP環境変数取得 $strServerName = $_SERVER["SERVER_NAME"]; $strGatewayInterface = $_SERVER["GATEWAY_INTERFACE"]; $strServerProtocol = $_SERVER["SERVER_PROTOCOL"]; $strRequestMethod = $_SERVER["REQUEST_METHOD"]; $strPathInfo = $_SERVER["PATH_INFO"]; $strScriptName = $_SERVER["SCRIPT_NAME"]; $strQueryString = $_SERVER["QUERY_STRING"]; $strRemoteAddr = $_SERVER["REMOTE_ADDR"]; $strRemoteHost = $_SERVER["REMOTE_HOST"]; $numContentLength = $_SERVER["CONTENT_LENGTH"]; $strHttpUserAgent = $_SERVER["HTTP_USER_AGENT"]; $strHttpReferer = $_SERVER["HTTP_REFERER"]; // --- 設定部 ------------------------------------------------------------------ // --- 必ず書き換える項目 ------------------------------------------------------ // --- メールの送信先 ---------------------------------------------------------- $mail_to = 'info@asama.ne.jp'; // --- 必要に応じて書き換える項目 ---------------------------------------------- // 送信完了ページを別ページにリダイレクトする場合はURLを書いてください。 // このスクリプトで送信完了ページを出力する場合は空欄です(デフォルト 空欄) $redirect = ''; // --- CAPTCHA関連 ------------------------------------------------------------ // captcha.jpによるロボットスパム防止を TRUE:使う FALSE:使わない $captcha = FALSE; // DESの秘密鍵 $key = ''; // captcha.jpのアカウントID $id = ''; // captchaの桁数 $captcha_length = 4; // --- プログラム部 ------------------------------------------------------------ // --- 初期化 ------------------------------------------------------------------ $release = '2'; $base = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'; $m = $n = 0; // --- captcha.phpに渡す文字列をランダムに生成し、DESで暗号化してURLエンコード - if ( $captcha ) { require( 'des.php' ); $auth = ''; $len = strlen( $base ) - 1; for ( $n = 0; $n < $captcha_length; $n ++ ) $auth .= substr( $base, rand( 0, $len ), 1 ); $auth = urlencode( des( $key, $auth, 1, 0, null ) ); } // --- 送信 -------------------------------------------------------------------- if ( $_POST['act'] == 'send' ) { // --- エラー処理 ---------------------------------------------------------- //if ( $_POST['com'] == '' ) error( '法人名が入力されていません' ); if ( $_POST['name'] == '' ) error( 'ご担当者様お名前が入力されていません' ); if(preg_match('/^[a-zA-Z0-9]+$/', $_POST['name'])) error ('文字コードが不正です'); if ( $_POST['email'] == '' ) error( 'メールアドレスが入力されていません' ); if ( $_POST['subject'] == '' ) error( '件名が入力されていません' ); if ( $_POST['address'] == '' ) error( '住所が入力されていません' ); if ( $_POST['tel'] == '' ) error( 'ご連絡先電話番号が入力されていません' ); if ( $_POST['plan'] == '' ) error( 'ご希望サービスが入力されていません' ); //if ( $_POST['body'] == '' ) error( '本文が入力されていません' ); // --- CAPTCHA ------------------------------------------------------------- if ( $captcha ) { $_POST['auth'] = trim( des( $key, urldecode( $_POST['auth'] ), 0, 0, null ) ); if ( strtoupper( $_POST['charenge'] ) != strtoupper( $_POST['auth'] ) ) error( 'CAPTCHAテストに失敗しました' ); } // --- 送信 ---------------------------------------------------------------- $_POST['name'] = mb_convert_encoding( $_POST['name'], 'JIS', 'UTF-8' ); $_POST['subject'] = mb_convert_encoding( $_POST['subject'], 'JIS', 'UTF-8' ); $_POST['body'] = mb_convert_encoding( $_POST['body'], 'JIS', 'UTF-8' ); $_POST['tel'] = mb_convert_encoding( $_POST['tel'], 'JIS', 'UTF-8' ); $_POST['postal_code'] = mb_convert_encoding( $_POST['postal_code'], 'JIS', 'UTF-8' ); $_POST['address'] = mb_convert_encoding( $_POST['address'], 'JIS', 'UTF-8' ); $_POST['postal_code2'] = mb_convert_encoding( $_POST['postal_code'], 'JIS', 'UTF-8' ); $_POST['address2'] = mb_convert_encoding( $_POST['address'], 'JIS', 'UTF-8' ); //$_POST['com'] = mb_convert_encoding( $_POST['com'], 'JIS', 'UTF-8' ); //$_POST['com_kana'] = mb_convert_encoding( $_POST['com_kana'], 'JIS', 'UTF-8' ); $_POST['name_kana'] = mb_convert_encoding( $_POST['name_kana'], 'JIS', 'UTF-8' ); //$_POST['sec'] = mb_convert_encoding( $_POST['sec'], 'JIS', 'UTF-8' ); //$_POST['kata'] = mb_convert_encoding( $_POST['kata'], 'JIS', 'UTF-8' ); $_POST['fax'] = mb_convert_encoding( $_POST['fax'], 'JIS', 'UTF-8' ); $_POST['plan'] = mb_convert_encoding( $_POST['plan'], 'JIS', 'UTF-8' ); $_POST['plan2'] = mb_convert_encoding( $_POST['plan2'], 'JIS', 'UTF-8' ); $_POST['ntt'] = mb_convert_encoding( $_POST['ntt'], 'JIS', 'UTF-8' ); $_POST['kaisen'] = mb_convert_encoding( $_POST['kaisen'], 'JIS', 'UTF-8' ); $_POST['kyoyo'] = mb_convert_encoding( $_POST['kyoyo'], 'JIS', 'UTF-8' ); $_POST['keiyaku'] = mb_convert_encoding( $_POST['keiyaku'], 'JIS', 'UTF-8' ); $_POST['keiyaku_kana'] = mb_convert_encoding( $_POST['keiyaku_kana'], 'JIS', 'UTF-8' ); $_POST['kankei'] = mb_convert_encoding( $_POST['kankei'], 'JIS', 'UTF-8' ); $_POST['mon'] = mb_convert_encoding( $_POST['mon'], 'JIS', 'UTF-8' ); $_POST['day'] = mb_convert_encoding( $_POST['day'], 'JIS', 'UTF-8' ); $_POST['ampm'] = mb_convert_encoding( $_POST['ampm'], 'JIS', 'UTF-8' ); $_POST['tel1_kubun'] = mb_convert_encoding( $_POST['tel1_kubun'], 'JIS', 'UTF-8' ); $_POST['tel1'] = mb_convert_encoding( $_POST['tel1'], 'JIS', 'UTF-8' ); $_POST['tel2_kubun'] = mb_convert_encoding( $_POST['tel2_kubun'], 'JIS', 'UTF-8' ); $_POST['tel2'] = mb_convert_encoding( $_POST['tel2'], 'JIS', 'UTF-8' ); $_POST['modem'] = mb_convert_encoding( $_POST['modem'], 'JIS', 'UTF-8' ); $_POST['doko'] = mb_convert_encoding( $_POST['doko'], 'JIS', 'UTF-8' ); //$_POST['dom'] = mb_convert_encoding( $_POST['dom'], 'JIS', 'UTF-8' ); //$_POST['dom_1'] = mb_convert_encoding( $_POST['dom_1'], 'JIS', 'UTF-8' ); //$_POST['dom_2'] = mb_convert_encoding( $_POST['dom_2'], 'JIS', 'UTF-8' ); //$_POST['dom_3'] = mb_convert_encoding( $_POST['dom_3'], 'JIS', 'UTF-8' ); //$plan = $_POST['subject']; $_POST['subject'] = '=?iso-2022-jp?B?' . base64_encode( $_POST['subject'] ) . '?='; $headers = 'From: =?iso-2022-jp?B?' . base64_encode( $_POST['name'] ) . '?= <' . $_POST['email'] . ">\r\n"; $body = '氏名 : ' . $_POST['name'] . "\r\n\r\n" . 'ふりがな : ' . $_POST['name_kana'] . "\r\n\r\n" . '〒 : ' . $_POST['postal_code'] . "\r\n\r\n" . '住所 : ' . "\r\n". $_POST['address'] . "\r\n\r\n" . 'TEL : ' . $_POST['tel'] . "\r\n\r\n" . 'FAX : ' . $_POST['fax'] . "\r\n\r\n" . 'E-MAIL : ' . $_POST['email'] . "\r\n\r\n" . '申込みサービス : ' . $_POST['plan'] . "\r\n\r\n" . 'NTT取次 : ' . $_POST['ntt'] . "\r\n\r\n" . '既加入 : ' . $_POST['plan2'] . "\r\n\r\n" . '回線形態 : ' . $_POST['kaisen'] . "\r\n\r\n" . '共用TEL : ' . $_POST['kyoyo'] . "\r\n\r\n" . '回線契約者 : ' . $_POST['keiyaku'] . "\r\n\r\n" . 'ふりがな : ' . $_POST['keiyaku_kana'] . "\r\n\r\n" . '続柄 : ' . $_POST['kankei'] . "\r\n\r\n" . '連絡希望日(月) : ' . $_POST['mon'] . "\r\n\r\n" . '連絡希望日(日) : ' . $_POST['day'] . "\r\n\r\n" . '連絡希望日(AM/PM) : ' . $_POST['ampm'] . "\r\n\r\n" . '利用場所〒 : ' . $_POST['postal_code2'] . "\r\n\r\n" . '利用場所住所 : ' . "\r\n". $_POST['address2'] . "\r\n\r\n" . '連絡先TEL1区分 : ' . $_POST['tel1_kubun'] . "\r\n\r\n" . '連絡先TEL1 : ' . $_POST['tel1'] . "\r\n\r\n" . '連絡先TEL2区分 : ' . $_POST['tel2_kubun'] . "\r\n\r\n" . '連絡先TEL2 : ' . $_POST['tel2'] . "\r\n\r\n" . 'モデム区分 : ' . $_POST['modem'] . "\r\n\r\n" . 'アンケート : ' . $_POST['doko'] . "\r\n\r\n" . '通信欄 : ' . $_POST['body'] . "\r\n\r\n" . 'SERVER_NAME = ' . $strServerName . "\r\n" . 'GATEWAY_INTERFACE = ' . $strGatewayInterface . "\r\n" . 'SERVER_PROTOCOL = ' . $strServerProtocol . "\r\n" . 'REQUEST_METHOD = ' . $strRequestMethod . "\r\n" . 'PATH_INFO = ' . $strPathInfo . "\r\n" . 'SCRIPT_NAME = ' . $strScriptName . "\r\n" . 'QUERY_STRING = ' . $strQueryString . "\r\n" . 'REMOTE_ADDR = ' . $strRemoteAddr . "\r\n" . 'REMOTE_HOST = ' . $strRemoteHost . "\r\n" . 'CONTENT_LENGTH = ' . $numContentLength . "\r\n" . 'HTTP_USER_AGENT = ' . $strHttpUserAgent . "\r\n" . 'HTTP_REFERER = ' . $strHttpReferer . "\r\n"; $body = mb_convert_encoding( $body, 'JIS', 'UTF-8' ); mail( $mail_to, $_POST['subject'], $body, $headers, $parameter ); if ( $_POST['copy'] != '' ) mail( $mail_to, $_POST['subject'], $body, $headers, $parameter ); // --- 送信完了ページ ------------------------------------------------------ if ( $redirect != '' ) { header( "Location: $redirect" ); exit; } else { ?>
exit; } } // --- エラーメッセージ出力 ---------------------------------------------------- function error( $message ) { ?>
|
|
サービスに関するお問い合わせはこちら アサマインターネット URL: http://www.asama.ne.jp/ mailto: info@asama.ne.jp |