□ あなたのページ
├□ cgi ( dir )
│├-- freeform.cgi (755) ・・・ 実行ファイル
│├-- freeform_org.cgi ( 644 ) ・・・ 設定ファイル
│├-- jcode.pl ( 644 )
│├-- mimew.pl ( 644 )
│├--input.html ・・・ ※ サンプルHTMLです。
|
|
- HTMLフォームの作成と設定
以下の作業でHTMLファイルを作成し設定を行ってください。手順は次の2段階になります。
あとは、HTMLから送信ボタンをすことでメールが送信されます。
htmlでFORMを自由に記述してください。
パラメータ(変数)は name= で指定します。どのようなパラメータ名を使用してもかまいません。
(パラメータに日本語も使用できますが、仕様が古いブラウザでは、日本語が化けることがあります。)
HTMLの例
<FORM method="POST" action="http://ご使用のドメイン/・・・/freeform.cgi?c=send"> ・・・※1
<TABLE border="0"><TBODY>
<TR>
<TD bgcolor="#cccccc">件 名</TD>
<TD><input size="50" name="件名"></TD>
</TR><TR>
<TD bgcolor="#cccccc">メ ー ル</TD>
<TD><input size="20" name ="email" style="ime-mode: disabled;"></TD> ・・・ ※2
</TR><TR>
<TD bgcolor="#cccccc">お 名 前</TD><TD><input
size="50" name="お名前"></TD></TR>
<TR><TD bgcolor="#cccccc">会社名</TD>
<TD><input size="50" name="会社"></TD>
</TR><TR>
<TD bgcolor="#cccccc">メッセージ</TD>
<TD><TEXTAREA cols="50" rows="4" name="メッセージ"></TEXTAREA></TD>
</TR>
</TBODY>
</TABLE>
<!-- ここに 作業2 の内容を挿入します。 --> ・・・ ※3
入力が終わったら右のボタンを押してください。
<input type="submit" value="送信">
<input type="reset" value="取消">
</FORM> |
作成例:こちらの画面です。
※1 ご使用のドメインと、cgiを設置したフォルダ名(ディレクトリ)を指定してください。この行でCGIが起動されます。
※2 訪問者(情報記入者)のメールアドレスは、必ず email を使用してください。
cgiプログラムが、訪問者にメール返信するためのメールアドレスをこの email から取得するため必要です。
※3 nameの前などに全角スペースが混入すると、cgi側でデータを受け取れない場合があります。ご注意下さい。
HTML文にHiddenパラm−タを追加することで、CGIプログラムfreeform.cgiの設定をおこないます。
[1.基本フォームの作成]で作成したHTMLファイルの [※3] の位置に、次の各種設定を挿入してください。
設定は省略することはできますが、(必須)とかかれているものは省略できません。
各種設定の作成例:
<input type="hidden" name="form_subject" value="株式会社XXXメール送信フォーム"> ・・・ ※4
<input type="hidden" name="form_mailto" value="メールアドレス(@より前の部分)"> ・・・※5
<input type="hidden" name="form_start" value="http://データ入力画面アドレス"> ・・・ ※6
<input type="hidden" name="form_next" value="http://戻り先アドレス"> ・・・ ※7
<input type="hidden" name="form_autoreturn" value="0" > ・・・・※8
<input type="hidden" name="form_foot" value="疑問点あれば、http://www.ドメイン名 まで"> ・・・・ ※9
<input type="hidden" name="form_order" value="件名,,お名前,会社,メッセージ,email"> ・・・ ※10 |
※4 form_subject には、フォームメールで送信されるメールに表示するタイトルを指定してください。
※5 form_mailto には、このフォームメールを着信するご自身のメールアドレスを指定します。(必須)
メールアドレスは、特に指定しない限り、cgi設置ドメインのものになります。
上記のメールアドレス(@より前の部分)では、メールアドレスの、@より前の部分だけ、を記述します。
例: info と記載すれば、ご自身の連絡先として、info@sample.com を指定したことになります。
( ご利用ドメインが sample.com の場合 )
※6 form_startに は、このfreeformを呼び出すURLを指定してください。(必須)
※7 form_nextに は、メールを送信後に表示するURLを指定してください。(必須)
※8 form_autoreturn が"1"のとき、書き込み者にも自動返信します。(省略時は返信しません)
※9 form_foot は、閲覧者に自動返信するメールのみにつけるフッタです。
※10 form_order は、フォームで入力した順番とは変えて整列し、メールしたいときのみ指定します。
これにてすべての作業が完了です、あとは必要な事項を入力し、送信ボタンを押すことで、メールが発信されます。
DLすると、サンプルソース input.html がついてきます。ソースを見てください。
※ダウンロードして得られる追加解説には、より安全性を高めるため、より高機能に使うためのヒントがあります。
こちらには、cigiでの直接のパラメータ指定、クイックサーバーSSLでの利用法、など高度な使用も記載されています。
- 自己診断機能について
うまく動かない場合の診断が可能です。次のようにしてしてください。
http://ご使用のドメイン/・・・/freeform.cgi?c=diag |
cgiの動作状況、sendmailの動作状況、各ライブラリの設置の確認などを行います。
※ permission denied のエラーが出る場合は、freeform.cgiパーミッション設定が間違っています。
※ そのほかのエラーでは、サポートラウンジを検索し、同じエラーが出たときの原因をご確認ください。
|
|
そのたの情報 |
|
|
|
- 入力が完了していないのに、エンターキーで送信されてしまう問題。
インターネット・フォームの仕様上、「送信」あるいは「submit」ボタンをクリックしなくとも、Enterキーを押すだけで、途中で送信されてしまします。(TEXTAREA以外) cgi側では対処できません。そこで、違う方法で解決を試みます。
対処方法として最も一般的なのが、JavaScriptを使用して、Enterキーの無効にする方法です。以下に例をしめします。
<script type="text/javascript">
<!--
function funconkeydown() {
var src = window.event.srcElement;
if ( event.keyCode == 13) {
if ( src.type == '' ) {
src.click();
}
else if (src.type != 'submit'
&& src.type != 'button' && src.type != 'textarea' ) {
return false;
}
}
}
-->
</script>
使用例:
<form method="POST" action="http://ご使用のドメイン/・・・/freeform.cgi?c=send"
onkeydown="javascript:return funconkeydown();">
|
※JavaScriptを無効に設定しているブラウザでは、効果がありません。携帯ではエラーになります。
※IE7.0での動作を確認しました。ブラウザによって、うまく動かない可能性があります。
他にもいろいろありますが、一長一短があります。
詳しくは、googoleなどで、検索してみてください。
利用者が間違って送信してしまった場合、ブラウザの「戻る」ボタンを使用し、最初の入力画面に戻り、修正して再入力してもらうという手があります。
送信完了の画面に、「送信内容は、ブラウザの戻るボタンで、修正が可能です」と記載するようにするといいでしょう。
ただし、この場合は、複数のメールが到着しますので、あとで到着したほうを有効とするといった、注意が必要です。
|
|
|
|
|
|
|
|
|
主要な修正のリスト
2005.11.25 初版作成
2005.12.23 Ver1.0 セキュリティ対応版
2006.01.18 Ver1.10 メール送信時のパラメータ順番指定
2006.06.02 Ver1.20 スパム対策、二重送信防止策
2007.05.15 ver1.30 スパム対策強化、自動整列機能追加
2008.06.06 Ver1.31 Macメール文字化け対策
2010.03.31 Ver1.33 バグ対応 |
|
|