各文字コード対応メールフォーム
フィールドビジネスブログ[お気軽テンプレート]をご購入いただいた方には無料で「各文字コード対応(UTF-8、EUC-JP、Shift_JIS)対応メールフォーム」をお使い頂けます。
各文字コード対応(UTF-8、EUC-JP、Shift_JIS)メールフォーム
- フォームから設定したアドレスにメールが送れます。
- 送信前に内容確認をすることができます。
- 送信内容を送信者に自動送信できます。
- 項目ごとに「入力必須」を指定することができます。
- メールアドレスの書式チェックを行うことができます。
- テンプレート式なので自由にデザイン変更できます。
※こちらは当サイトにて「お気軽テンプレート」をお申込いただいた方を対象とさせていただきます。
【注意】
フィールドメールフォームの設置や動作に関するご質問などには一切お応えできません。ご自分でメールフォーム設置を行うことができ、利用規則に同意頂いた方のみご使用ください。
サンプルサイト
動作確認環境
PHP Version 4.4.1
ファイル構成
- postmail.php --- メール送信スクリプト
- mailaddrconv.php --- メールアドレスを暗号化するスクリプト
- form.html --- サンプルフォーム
- style.css --- サンプルスタイルシート
- [ tmp ] / error.html --- エラーテンプレート
- [ tmp ] / check.html --- 送信内容確認テンプレート
- [ tmp ] / ok.html --- 送信完了テンプレート
設置方法
ファイルのアップロード
ダウンロードしたファイルをFTPクライアントソフトを使ってサーバーの任意の位置にアップロードします。
【ディレクトリ構成例】
public_html + ----- [ postmail ] / postmail.php | mailaddrconv.php | form.html | style.css | + ----- [ tmp ] / error.html check.html ok.html
メールアドレスの暗号化
アップロードしたmailaddrconv.php をブラウザで開いて、テスト用に受信できるメールアドレスを暗号化します。フォーム内の「mailto」 の値を暗号化されたメールアドレスに置き換えます。
書き換え例
<form action="./postmail.php" method="post"> <input type="hidden" name="mailto" value="" /> ↓↓↓↓↓↓↓ <form action="./postmail.php" method="post"> <input type="hidden" name="mailto" value="y8xLy3dIy0zNSUnKyU/Xy0stAQA=" />
postmail.phpファイルの設定編集
postmail.phpファイルをテキストエディタで開き、20行目ほどにある「設定」を変更しましょう。
- $mailtitle="様からのお問い合わせです"; --- 送られるメールの件名
※件名には差出人名が自動で入ります。 - $mailfromaddr="aaaa@aaaa.jp"; --- メール差出人(管理者)のアドレス
- $maxnum=20; --- 最大項目数
次に107行目〜135行目ほどにある「自動返信メールの書式」を変更しましょう。
※変数などを間違って消さないように注意してください
お問い合わせです。
------------------------------------------
";
for($i=1;$i<=$maxnum;$i++){
$var_name="field".$i."_name";
$var_text="field".$i."_text";
$inputtext.=($$var_name!=''?$$var_name." : ".$$var_text."\r\n":"");
}
$inputtext.=($message_name!=''?"$message_name :\r\n$message_text":"");
$mailtext2="「".$sendername."」様
この度はお問い合わせ頂きましてありがとうございます。
下記の内容で送信されましたのでご確認ください。
こちらから追ってご連絡させていただきます。
--------------------------------------------------------------------------
".$inputtext."
--------------------------------------------------------------------------
1週間以内に連絡がない場合、又はこのメールに見覚えのない方は、お手数ですが、
下記アドレスまでご連絡ください。
account@your.domain
--------------------------------------------------------------------------
■ http://your.domain
--------------------------------------------------------------------------
次に144行目ほどにある「自動返信メールの件名」を変更しましょう。
- mb_send_mail($mailfromaddr,"お問い合わせありがとうござます",$mailtext2,"From: ".$mailfromaddr2);
form.htmlの変更
以下のルールに従って「formタグ」内を自由に変更しましょう。
※Movable Typeのエントリー投稿からメールフォームを設置する場合
ダウンロードデータの中から「form.html」を開き、<form>〜</form>内のソースをペーストして、「改行設定なし」で保存しましょう。
次にダウンロードデータの中の「style.css」を開き、Movable Typeのスタイルシート内に27行目から140行目までの内容をコピーします。
最後にダウンロードデータの「tmp」中にあります3つのhtmlファイルを開き、11行目にあります<link rel="stylesheet" href="./style.css" type="text/css" />内からスタイルシートのパスをMovable Typeのスタイルシートへのパスに置き換えます。
■formタグの設定
<form action="postmail.php" method="post"> --- postmail.phpへのパスを記述しましょう
■inputタグの設定とルール
フォーム項目それぞれに、項目設定をする「input」タグが入ります。Xの部分には通し番号入ります。これらのinputタグは質問項目ごとに設定を使い分けましょう。
<input type="hidden" name="fieldX_name" value="名前" />
(質問項目の質問名をfieldX_nameのvalue値で設定します。)
<input type="hidden" name="fieldX_req" value="yes" />
(質問項目の必須かをfieldX_reqのvalue値で設定します。値は「yes」か「no」で指定します。)
<input type="hidden" name="fieldX_sender" value="yes" />
(お問い合わせ送信者の名前をfieldX_senderのvalue値で設定します。値は「yes」か「no」で指定します。yesの場合、メールの件名に表示されます。)
<input type="hidden" name="fieldX_email" value="yes" />
(E-mailアドレスであるかどうかをfieldX_emailのvalue値で設定します。値は「yes」か「no」で指定します。yesの場合、e-mail書式チェックを行います。)
<input type="hidden" name="fieldX_from" value="yes" />
(お問い合わせの差出人アドレスであるかどうかをfieldX_fromのvalue値で設定します。値は「yes」か「no」で指定します。yesの場合、送られてくるメールの差出人アドレスとして扱われます。)
<input type="hidden" name="message_name" value="" />
<input type="hidden" name="message_req" value="yes" />
<textarea name="message_text" cols="40" rows="4"></textarea>
(複数行の質問であるかをmessage_name、message_req、message_textのvalue値で設定します。messageで指定した項目は複数行として改行して表示されます。)
■formタグの記述例
テキスト入力:<input name="fieldX_text" type="text" />
表示例:
パスワード入力:<input name="fieldX_text" type="password" />
表示例:
テキスト複数行入力:<textarea name="message_text" cols="20" rows="2"></textarea>
表示例:
ラジオボタン:<input type="radio" name="fieldX_text" value="0123" checked />0123
表示例:0123
チェックボックス:<input type="checkbox" name="fieldX_text" value="0123" checked />0123
表示例:0123
セレクトボックス:<select name="fieldX_text"><option value="0123" selected>0123</option><option value="4567">4567</option></select>
表示例:
補足事項
各画面はテンプレート式です。自由にデザイン変更が可能ですが先頭に?が付加されたもの(<?=$errmsg?> など)は削除しないように注意してください。
error.html | 入力エラー画面 |
check.html | 送信内容確認画面 |
ok.html | 送信完了画面 |
