商用利用はシェアウェア版(\3,150)をどうぞ。
※ネットショップでの利用、法人サイトでの利用、有償での代行設置、著作権表示削除などはすべて商用利用となります。商用利用の範囲の詳細は利用ガイドにてご確認ください。
メールフォームサンプル1 / メールフォームサンプル2
管理画面サンプル
※パスワード:7777 削除・編集はできません
診断モードサンプル(ライブラリ) / 診断モードサンプル(ファイル構成)
利用者アンケート アンケート返信(レスBBSサンプル)
※太字はver.3から追加された機能です。
3.10→3.12 バージョンアップ版 maildwarf ver3.12 バージョンアップ版(lzh圧縮)(同梱ファイルを上書きアップロード)
※当サイトのスクリプトの利用規約は利用ガイド&よくある質問に詳細がありますので必ずお読みください。スクリプトをダウンロードした時点でこの規約に同意したものと見なします。
maildwarf312.lzhを解凍すると以下のファイル・フォルダが展開されます。
※「ダミーファイル」は、ブラウザからそのフォルダの中身を表示させないための空のファイルです。indexファイルがなくてもファイルの一覧を表示させないサーバーの場合、アップロードは不要です。
[ dmail ] / index.html
| maildwarf.cgi
| manage.cgi
| set.cgi
| dwarflib.pl
| jcode.pl
| fold.pl
| dwarf.css
| graph.gif
| sample.html
| count.dat
|
+ ----- [ resBBS ] / index.html
| resBBS.cgi
| resBBSset.cgi
|
+ ----- [ config ] / index.html
| | configs.cgi
| | default.cgi
| | default.txt
| |
| + ----- [ skin ]
|
+ ----- [ logs ]
| |
| + ----- [ return ]
|
+ ----- [ lock ] / index.html
subject
logs
count
※ブラウザからアクセスするCGIファイル=705、CGIによって読み書きされるファイル=606、CGIによって読み書きされるファイルの入ったフォルダ=707となります。
サーバーによっては705→700、606→600、707→701となる場合があります。
※CGIによって自動生成されたフォルダはパーミッションが301になることがあります。そのままでも動作に支障はありませんが、FTP操作はできません。FTPで操作したい場合にはパーミッションを変更してください。
管理メニュー(manage.cgi)の機能の一覧です。
フォームはいくつでも、またどこにでも設置できます。項目数などに特に制限はないので、自由にフォームをデザインしてください。
<form>タグによる送信と、リンクによる送信の両方が使えます。
1) <form>タグによる送信例
<form method="post" action="maildwarf.cgi"> <input type="text" name="メッセージ"> <input type="submit" value="送信"> </form>
2) リンクによる送信例
<a href="maildwarf.cgi?拍手>拍手</a>
※日本語を含めると、ブラウザによっては文字化けをする場合があります。文字化けを防ぐためには、下記のようにURLエンコードをしておきます。
<a href="maildwarf.cgi?%94%8f%8e%e8>拍手</a>
<form>タグのaction属性はフォームを置いたページからmaildwarf.cgiへのパスにしてください。(リンクの場合は、リンク先アドレス)
パスがよくわからない場合は、 http://〜/maildwarf.cgi のようにURLを書けば間違いありません。
name属性値(name=""の""内)には日本語が使えます。 (例 <input name="お名前">
name属性値を半角の_(アンダーバー)で始めると、下記のシステムコマンドとして認識されます。
システムコマンドとは、フォームのタグ内に書いてフォームの動作を指定するためのキーワードです。
通常、 <input type="hidden" name="_subject" value="感想"> のように隠しフィールドに入れて使います。 <input type="text" name="_mail">のように、送信者の入力した内容をシステムコマンドの値として使うこともできます。
フォームに書かれたシステムコマンドは、設定ファイルの設定より優先して処理されます。たとえば、全体的には確認画面を出す設定にして、特定のフォームでは確認画面を出さずに送信、といった使い方ができます。
<form method="post" action="maildwarf.cgi"> <input type="hidden" name="_subject" value="連載小説の感想"> <input type="hidden" name="_check" value="1"> <input type="hidden" name="_checkitem" value="お名前"> <input type="hidden" name="_confirm" value="1"> <input type="hidden" name="_longlineitem" value="メッセージ"> お名前:<input type="text" name="お名前"><br> メール:<input type="text" name="_mail"><br> ご感想:<select name="ご感想"> <option value="おもしろい">おもしろい <option value="つまらない">つまらない </select><br> メッセージ:<input type="text" name="メッセージ"><br> <input type="submit" value="送信"> </form>
お名前 = 文月夕 mail = nomail@xxx.xxx ご感想 = おもしろい メッセージ = 続きが楽しみです! ------------------------------ Date: 2004/11/18 (Thu) 19:03:27 Referer: http://hogehoge.com/mailform.html IP Address: xxx.xxx.xxx.xxx UserAgent: xxxxxxxxxxxxxxxxxxxx MailDwarf ver2.03
<input type="hidden" name="使用OS"> <input type="radio" name="使用OS" value="Windows">Windows <input type="radio" name="使用OS" value="Mac">Mac <input type="radio" name="使用OS" value="その他">その他
用件: <select name="_select"> <option value="サイトのご感想">サイトのご感想</option> <option value="リンクのご報告">リンクのご報告</option> <option value="誤字脱字・エラー報告">誤字脱字・エラー報告</option> <option value="事務連絡">事務連絡</option> <option value="私信">私信</option> <option value="その他">その他</option> </select>
<input type="checkbox" name="_autoreturn" value="2">メールのコピーを受け取る
<a href="maildwarf.cgi?_subject=拍手"> <img src="04b.gif" width="17" height="17" alt="拍手" border="0"></a>
自動返信メールの文面に、フォームから送られたデータを差し込むことができます。
フォームの各項目名を##で挟んだ文字列が、入力内容に置換えられます。
また、フォーム送信の西暦年、月、日、時間、分、秒をそれぞれ%year%、%month%、%day%、%hour%、%min%、%sec%で置き換えられます。
##お名前## 様 ##subject##のメールをありがとうございました! ご感想をくださったかたにだけお教えする裏ページのアドレスは http://〜です。 お楽しみくださいませ! ※このメールは、CGIで自動返信しています。 **************************************** %year%/%month%/%day% %hour%:%min%:%sec% ○○管理人 ほげほげ ****************************************
文月夕 様 連載小説の感想のメールをありがとうございました! ご感想をくださったかたにだけお教えする裏ページのアドレスは http://〜です。 お楽しみくださいませ! ※このメールは、CGIで自動返信しています。 **************************************** 2004/11/18 20:13:44 ○○管理人 ほげほげ ****************************************
エラー画面、入力内容確認画面、送信完了画面にデザインスキンを利用することができます。
デザインスキンは設定ファイルと自由に組み合わせることができ、システムコマンドからも指定できます。
ヘッダ、フッタは共通のソースを利用し、フォーム送信用のタグは自動で追加されます。
フォームの各項目名を##で挟んだ文字列が、入力内容に置き換えられます。
##_subject##とすると件名、##SUBMIT##とすると送信ボタン、##BACK##とすると前に戻るボタン(Javascript使用)、##HOME##とするとホームに戻るボタン(Javascript使用)に置き換えられます。
エラー画面では、各項目名を%%で挟んだ文字列が、エラーメッセージに置き換えられます。
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<link rel="stylesheet" href="dwarf.css">
<style type="text/css">
table {
border: solid 1px #333333;
border-collapse: collapse;
}
th {
text-align: lert;
border: solid 1px #333333;
padding: 3px;
}
td {
border: solid 1px #333333;
padding: 3px;
}
</style>
<title>MailDwarf</title>
</head>
<body>
<h1>MailDwarf</h1>
<h2>サンプルフォーム</h2>
<div class="main">
<p>必須項目にご入力ください。</p>
<table border="0">
<tr>
<th>ご用件</th>
<td colspan="2">##_subject##</td>
</tr>
<tr>
<th>お名前(必須)</th>
<td>##お名前##<br></td>
<td>%%お名前%%<br></td>
</tr>
<tr>
<th>メールアドレス</th>
<td colspan="2">##_mail##<br></td>
</tr>
<tr>
<th>サイトURL</th>
<td colspan="2">##サイトURL##<br></td>
</tr>
<tr>
<th>メッセージ</th>
<td colspan="2">##メッセージ##<br></td>
</tr>
<tr>
<th>返信の希望</th>
<td colspan="2">##返信の希望##<br></td>
</tr>
<tr>
<td colspan="3" align="center">##BACK##</td>
</tr>
</table>
<p>下記の内容でよろしければ送信してください。</p>
<table border="0">
<tr>
<th>ご用件</th>
<td>##_subject##</td>
</tr>
<tr>
<th>お名前(必須)</th>
<td>##お名前##<br></td>
</tr>
<tr>
<th>メールアドレス</th>
<td>##_mail##<br></td>
</tr>
<tr>
<th>サイトURL</th>
<td>##サイトURL##<br></td>
</tr>
<tr>
<th>メッセージ</th>
<td>##メッセージ##<br></td>
</tr>
<tr>
<th>返信の希望</th>
<td>##返信の希望##<br></td>
</tr>
<tr>
<td colspan="2" align="center">##BACK## ##SUBMIT##</td>
</tr>
</table>
<p>メッセージありがとうございました。</p>
<table border="0">
<tr>
<th>ご用件</th>
<td>##_subject##</td>
</tr>
<tr>
<th>お名前(必須)</th>
<td>##お名前##<br></td>
</tr>
<tr>
<th>メールアドレス</th>
<td>##_mail##<br></td>
</tr>
<tr>
<th>サイトURL</th>
<td>##サイトURL##<br></td>
</tr>
<tr>
<th>メッセージ</th>
<td>##メッセージ##<br></td>
</tr>
<tr>
<th>返信の希望</th>
<td>##返信の希望##<br></td>
</tr>
</table>
</div> <div id="copyright"><a href="index.html" target="_blank">MailDwarf</a></div> </body> </html>
2004/11/18 ver0.10β公開。
2004/11/19 ver0.11β。ログ表示部分など改造。
2004/11/23 ver0.12β。ミス修正。
2004/11/26 ver0.20β。完了画面のランダム表示、順番表示機能。ログ表示方法に変更。ファイルロック機能。
2005/02/17 ver0.30β。必須チェック機能を搭載。フォーム記述方法を若干変更。
2005/02/18 ver0.40β。フォームごとの設定機能、メール送信オン・オフ機能搭載、確認画面表示機能搭載。ファイル構成とフォーム記述方法を若干変更。
2005/02/20 ver1.00正式公開。スクリプト名を MailDwarfに変更。
2005/02/21 ver1.01。スクリプトのバグを修正。(FireFoxで戻るボタンが使えないなど)
2005/02/23 ver1.02。readmeファイルを改訂。下記のバグなどを修正。
・チルダを含むアドレスの場合にSafariで戻れない
・maildwarf.cgiに直接アクセスがあった場合に空メールが送信される
・ログ閲覧で長文テキストの改行が反映されない
・ログ分析(項目別)で長文テキスト項目が表示されない
2005/02/28 ver1.03。フォームの設定を追加できないバグを修正。
2005/03/02 ver1.04。同一ディレクトリに2種類以上のクッキーが保存されている場合に正常に認証されないバグを修正。
2005/03/04 ver1.05。下記のバグを修正。
・自動返信利用時、特定の文字列をname属性に使うとエラーが発生する
・自動ログインが正常に機能しない
2005/04/02 ver2.00。以下の機能を追加。
・管理画面からの返信
・レスBBSの作成
・NGワード、着信拒否IPの指定
・メールのコピーを返信
・システムコマンドで送信完了画面・自動返信を指定
・30分以内の連続送信数をカウント
また、以下のバグを修正しました。
・簡易フォーム作成でドロップダウンリスト選択時にname属性値が反映されない
2005/04/13 ver2.01。サイト移転に伴い、クレジット表示のリンクを変更。
2005/05/12 ver2.02。以下のバグを修正しました。
・最新以外のログを削除すると、その後送られたデータのID番号がおかしくなる。
・管理画面の返信で「BCCを自分に送信」が動作しない。
2005/05/20 ver2.03。自動返信メールに特定の文字列を入れると文字化けするバグを修正。診断モードを追加。
2006/02/17 ver3.00。以下の機能を追加しました。
・メール内の半角カナを全角カナに変換。
・指定した文字数でメールを自動折り返し。
・ログの自動削除機能、ログの保護設定。
・ログ一覧の並べ替え。
・ログのCSV形式ダウンロード。
・レス、返信処理の有無を記録。
・デザインスキンに対応。
・Yahoo、Google、MSNのロボットのアクセスによるメール誤送信防止。
2006/02/17 ver3.01。以下のバグを修正しました。
・スキンファイルを指定しない場合に送信時エラーが発生する。
・ログを削除した際にログの保護設定がリセットされる。
2007/03/30 ver3.10。以下の脆弱性に対応しました。
・スキン使用時のXSSに対する脆弱性。
・メールフォームを踏み台とした大量メール送信に対する脆弱性。
なお、上記の脆弱性情報は株式会社ビジネス・アーキテクツの太田良典氏よりIPAに報告され、当方へ通知されました。発見者ならびに関係者の皆様、ありがとうございました。
2008/04/12 ver3.11。スキンにテキストエリアを使用した際にスキン編集画面の表示が乱れるバグを修正しました。
作者:文月夕(You Fuzuki)@小説HTMLの小人さん http://htmldwarf.hanameiro.net/
このスクリプトの著作権は文月夕に所属します。
スクリプトの改造は自由ですが、クレジット表示の削除は原則として禁止します。(改造者のクレジット表示を書き足すことは自由です)
スクリプトの改造を行った場合、サポートの対象外となります。
改造の有無に関わらず、スクリプトの再配布を原則として禁止します。
何らかの理由により再配布を希望する方は作者までご連絡ください。
作者は、このスクリプトを利用したことによって発生しうる損害に関して責任を負うものではありません。
日本語変換ライブラリ、自動改行処理ライブラリは歌代 和正氏作成のjcode.pl,fold.plを利用・再配布させていただいております。
有用なライブラリを作成してくださった氏に感謝いたします。