Home > メールプログラム > Captcha Mail
|
特長
- スパム対策用に「画像認証」機能を持った「フォームメール」です。
- サンプルは以下にあります。
- CAPTCHA-MAILの機能的な特長は以下のとおりです。
- ブラウザから指定のアドレスへメール送信を行ないます。
- スパム対策用に画像認証機能を兼ね備えています。
- 送信者にも、自動で返信メールを送信することができます。
- サーバにインストールされたsendmailを利用して送信します。そのため設置するサーバでsendmailの利用が必須となります。
- 項目ごとに「入力必須」を指定することができます。
- 2つの入力項目の内容が同一かどうかをチェックすることができます(メールアドレスの入力チェックやパスワードチェックなど)。
- 各画面はテンプレート式になっているため、ユーザサイドで自由に文字修正やデザイン変更をすることができます。
- 文字コードはUTF-8です。
- スマホ画面に対応したレスポンシブデザインです。
- このプログラムを利用する上での利用規定です。必ず目を通しておいて下さい。プログラムをダウンロードする場合、「利用規定」に同意したものとみなします。
プログラムの入手
- 以下の書庫ファイルをダウンロードします。
- ダウンロード後、解凍 します。解凍すると以下のファイルが展開されます。
captmail.cgi -------------- フォームメール本体プログラム init.cgi ------------------ 設定ファイル captcha.cgi --------------- 画像認証プログラム check.cgi ----------------- 動作チェックプログラム style.css ----------------- スタイルシート data/log.cgi -------------- データファイル tmpl/mail.txt ------------- メール本文テンプレート tmpl/reply.txt ------------ 返信メール本文テンプレート tmpl/form.html ------------ 送信フォーム画面テンプレート tmpl/conf.html ------------ 確認画面テンプレート tmpl/thanks.html ---------- 送信完了画面テンプレート tmpl/error.html ----------- エラー画面テンプレート lib/jacode.pl ------------- コード変換モジュール [入手先] lib/CGI/Minimal.pm -------- データ受理モジュール [配布元] lib/GD/SecurityImage.pm --- 画像認証生成モジュール [入手先] lib/Crypt/RC4.pm ---------- 暗号モジュール [入手先] lib/bin/*.png ------------- 画像認証用PNG画像 lib/bin/*.ttf ------------- 画像認証用フォントファイル
プログラムの設定及び設置
- 全体のディレクトリ構成とファイル位置の設置例は以下のとおりです(かっこ内はパーミッションの設定値)。
ディレクトリ構成例
public_html / index.html (トップページ) | +-- captmail / captmail.cgi [705] ... フォームメール本体(初期アクセスもココ) | captcha.cgi [705] ... 画像認証プログラム | check.cgi [705] ... 動作テスト用プログラム | init.cgi [604] ... 設定ファイル | style.css | +-- lib / *.pm | | *.pl | | | +-- CGI / *.* | +-- GD / *.* | | +-- SecurityImage / *.pm | +-- Crypt / *.pm | +-- data / log.cgi [606] | +-- bin / *.png | *.ttf | +-- tmpl / mail.txt reply.txt form.html ..... フォーム画面はテンプレートになります。 conf.html thanks.html error.html
- init.cgi を エディタ で開いて以下の箇所を修正します。
- $cf{mailto} = "xxx@xxx.xxx";
- (送信するメールアドレスを指定します)
- $sendmail = "/usr/lib/sendmail";
- (sendmailのパスを指定します。プロバイダの指定するパスを確認してください)
- $cf{conv_code} = 0;
- フォームページ(postmail.html)からの文字コード自動判別を行う場合は「1」とします。フォームページとプログラム側の文字コードを同一の状態(初期値のまま)で使用する場合には「0」でおおむね大丈夫です。
- $cf{subject} = "フォームメール";
- (お好きなタイトル名に変更して下さい)
- $cf{reload} = 0;
- (送信後、単に完了メッセージを出すのであれば 0 を、所定のページへ自動ジャンプさせたい場合には、1 とします。後者の場合、ジャンプ先は $back で指定するURLとなります)
- $cf{back} = '../index.html';
- (送信後の戻り先URLパスを指定します)
- $cf{check_key} = 1;
- (送信フォームのname値の正当性をチェックする場合は「1」とします。正当性とは、英数字、アンダーバーハイフン、全角文字(日本語)であるかどうかをチェックします)
- $cf{denyhost} = '^210.123.44.* .sky-net.br$';
- (拒否するホスト名又はIPアドレスを半角スペースで区切って複数指定することができます)
- $cf{no_wd} = 'あほ,アホ';
- (禁止ワードをコンマで区切って複数指定することができます)
- $cf{use_captcha} = 1;
- スパム対策に画像認証を使用しますが、ライブラリー版を使用する場合は「1」、モジュール版を使用する場合は「2」とします
※画像認証(投稿キー機能)についての詳細は右記ページをご覧ください。: 画像認証について
- captmail.cgi, captcha.cgi, check.cgi を エディタ で開いて以下の箇所を修正します。
- #!/usr/local/bin/perl
- (プロバイダで定められたPerlへのパスを指定します)
- 以上、修正が完了したら各ファイルを所定のディレクトリへFTP転送し、以下のとおり アクセス権 (パーミッション) を設定します。
ファイル名 パーミッション 転送モード 一般サーバ suEXECサーバ
CGIWrapサーバcaptmail.cgi
captcha.cgi
check.cgi755 or 705 701 or 700 アスキー init.cgi 666 or 604 601 or 600 アスキー log.cgi 666 or 606 600 アスキー style.css
lib/*.pm
lib/GD/*.pm
lib/Crypt/*.pm
lib/*.pl
tmpl/*.html
tmpl/*.txt- - アスキー lib/bin/*.png
lib/bin/*.ttf- - バイナリー Tips:ファイル転送の仕方は以下のページを参考にしてください。
FTP : Windows編 FTP : Macintosh編 - 以上、作業が完了したら「チェックモード」で動作チェックを行ないましょう。「check.cgi」に直接アクセスすることで、簡易的なチェックを行うことができます。なお、動作チェック後はcheck.cgiはファイル削除しておきます。
補足事項
- 各画面はテンプレート式ですので、ユーザサイドで自由に内容やデザイン変更が可能です。
tmpl/mail.txt メッセージ本文 tmpl/reply.txt 返信用メッセージ本文 tmpl/form.html 初期入力フォーム tmpl/conf.html 入力内容確認画面 tmpl/thanks.html 送信完了画面 tmpl/error.html エラー画面 【注意事項】
- 各HTMLファイル中のコメント文 (<!-- cell --> など) および、「!」で囲まれた文字(!back! など)は削除しないように注意してください。それ以外は原則として自由に変更して構いません。
- name値は日本語も使用できますが、次の制限事項があります。
使用可能な文字: 英数字、アンダーバー、ハイフン、全角文字(日本語)