HomePage講座     Yukiの休息所
 Yukiの休息所(趣味の部屋)
 ホームページ講座
 CGI基礎講座
次の項目へ>>
<<前の項目へ


  CGIの使用方法、其の3

 
CGI基礎講座、第5回は、メールフォームプロCGIの設定方法です。

 
超高機能、とても無料とは思えない商用に十分使えるメールフォームです。
 「SYNCK GRAPHICA/札幌」様作のメールフォームです。
 作者様は、ホームページ制作会社の経営をしておられる様です。
    「http://www.synck.com/contents/download/cgi-perl/mailformpro.html

    
 CGI,基礎講座、第5回 メールフォームCGIの設定方法です。
 
 CGIファイルは、「SYNCK GRAPHICA/札幌」様のページからダウンロードできます。
 御自分の、サーバーのPerlのパスに合っている方をダウンロードして下さい。

 http://www.synck.com/contents/download/cgi-perl/mailformpro.html
 このページのずっと下のほうに、ダウンロードボタンが有ります。

 http://guide.flexserver.jp/help/flexs/guide/grp25/guide433
 設置方法は、作者様の、説明より、こちらの方がより詳しく書いてあります。

 それでも、小生、一回は挫折してしまいました。んー残念
 ホームページ作成開始から3日目のことでしたが、一月たって、再挑戦、今度は成功しました。

 説明不足と思われる部分の追加説明をしていくことにします。

 


 これが、ダウンロード後、展開した状態、これでも、まだファイルが不足していますとなってましたが、作者さんがもう入れてくれていたようです。


 mailfomeproフォルダ内に、Jcodeフォルダと、Jcode.pmファイルがあることを確認してください。
 念のため、Jcodeのダウンロードは、こちらです。
 http://search.cpan.org/~dankogai/Jcode-2.07/
 このサイトから、Jcode-2.07(2009年12月)をダウンロード、英語サイトです、 ダウンロードページを示しましたが、ダウンロードできますか?
 
 では、総てをフォルダごとアップロードしてしまいましょう。

 「readme.pdf」
 ここからは、作者様のPDFファイルを参照してください。
 5ページに、パーミッションの一部が表示して有ります。
 maikformpro2フォルダ内の、総てのパーミッションを確認・設定してしまいましょう。

 CGIのパーミッション「755」
  拡張子「.cgi」のファイルは、「755」の設定で、良いのですが、 「705」を設定しても動くでしょう。

 CGIが使用するデータファイル「644」
  その他の、各種データは、実行しませんから、 「644」、または、「604」になるわけです。

 CGIが動作するフォルダのパーミッション「777」
  フォルダ内のデータに、アクセスしますからね、 「777」、まれにエラーになる場合は「755」に変更します。

 CGI基礎講座第1回からのコピーですが、お役に立つでしょう。

 さあ、ここまでで、説明書は終わってます、これからは、小生の出番ですね。ハハハ

 check.cgiにアクセスする前に、一度開いて見ましょう。
 チェックポイントは、一行目、ご自信の「Perl」のパスと同じですか?
 ここだけは、チェックしておかねば。

 書式「http://www.onamae.com/mailformpro2/mailformpro/check.cgi」です。
 色々と警告が出たらOKなんです。 サーバーからエラーが返って来たら、大変、書式の確認とパーミッションの確認ですね。
 書式をアドレス欄に入れるんですよ、入れたら「enter」です。

 サーバエラー表示ナシに、警告文が返って来たら成功です。先に進みましょう。
 config.cgiの変更

 config.cgiは大事なCGIで、ほぼ総てに関わる物ですから、変更点も多いんです。

 以下はconfig.cgiの全文コピーです。
 小生の場合の変更箇所を、赤字で記載しておきました。

## 2009-03-31 mailform pro Ver.2.x.x config file

##スクリプトのURL / ※基本的にここは変更しなくてOKです
$config{"url"} = 'http://' . $ENV{'SERVER_NAME'} . $ENV{'SCRIPT_NAME'};

##リファラードメインチェック / ドメインチェックをしない場合は行頭に半角#を入れてください
$config{"domain"} = $ENV{'HTTP_HOST'};

##全文英語のスパム候補を除外(0:除外 / 1:除外しない)
$config{"english_spam"} = 0;

##リンク系スパム候補を除外(0:除外 / 1:除外しない)
$config{"link_spam"} = 0;

##sendmailのパス
$config{"sendmail"} = '/usr/sbin/sendmail';

##フォームからの送信先 設定したほうの先頭の#を削除してください
# ひとつの場合
#@mailto = ('xxxxx@example.jp');→  #をとって
# 複数の場合 (シングルクォートでくくったメールアドレスをカンマで区切って指定)
#@mailto = ('xxxxx@example.jp','yyyyy@example.jp');

##フォームからの差出人
$config{"mailfrom"} = $mailto[0];

##フォームの差出人名
$config{"fromname"} = 'SYNCK GRAPHICA';

##サンクスページのURL
$config{"thanks_url"} = 'http://cgi.synck.com/mailform/pro2.1.2/thanks.html'; 

##サンクスページに通し番号を渡す(1:ON / 0:OFF)
$config{"thanks_serial"} = 1;

##入力時間の平均時間をHTMLに表示する場合の書式
$config{"input_time_format"} = '<p>このフォームの入力にはおおよそ <strong><avg></strong> 程度掛かります。</p>';

##自動返信メールに通し番号を付けるかどうか(1:つける / 0:つけない)
$config{"return_subject_serial"} = 1;

##通し番号に日付を付けるかどうか(1:つける / 0:つけない)
$config{"return_subject_serial_date"} = 1;

##ログファイルのパス
#$config{"log_file"} = 'postlog.cgi';

##ログファイルのパスワード
#$config{"password"} = 'password';

##送信有効期限 ※有効期限を設定する場合はエラーページを用意して下さい。
##期限の書式は YYYY-MM-DD HH:MM:SS です。
##受付開始日時
#$config{"expires_break"} = '2009-01-22 06:21:00';
##受付終了日時
#$config{"expires"} = '2009-03-22 06:30:00';

##送信有効期限をHTMLに表示する場合の書式
$config{"expires_time_format"} = '<p class="expires">このフォームは <strong><expires></strong> で締め切りとさせて頂きます。</p>';
$config{"expires_time_timeout"} = '<p class="expires">このフォームの送信は <expires> で既に締め切りました。</p>';
$config{"expires_time_break"} = '<p class="expires">このフォームからのご応募は <expires> から開始いたします。</p>';

##送信数制限 ※送信数制限を設定する場合はエラーページを用意して下さい。
#$config{"limit"} = 100;

##送信数制限をHTMLに表示する場合の書式
$config{"limit_format"} = '<p class="limit">残り応募数はあと <strong><limit></strong> 枠です。</p>';
$config{"limit_over"} = '<p class="limit"><strong>このフォームの応募数を超えました。</strong></p>';

##エラーページURL
#$config{"error_url"} = 'http://cgi.synck.com/mailform/pro2.0.0/error.html';

##設置者に届くメールの件名
$config{"subject"} = 'お問い合せフォームから';

##設置者に届くメールの本文整形 / 自動生成の場合 NULL / 特殊整形文字 <resbody>:送信内容一式 / <date>:日付 / <serial>:通し番号 / <input_time>:入力秒
$config{"posted_body"} = <<'__posted_body__';
<date>
お問い合せフォームより以下のメールを受付ました。→無料会員登録フォームより以下のメールを受付ました。
────────────────────────────────────
受付番号:<serial>
入力時間:<input_time>
 送信元:<http_referer>
<resbody>
────────────────────────────────────

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                                    
  SYNCK GRAPHICA SAPPORO / noriyuki wada < wada@synck.com >
  〒003-0801 札幌市白石区菊水一条四丁目一番三十九号
  TEL / 011-832-8698 FAX / 011-832-8698
  official web site URL : http://www.synck.com
                                    
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
__posted_body__

##送信者に届く自動返信メールの件名
$config{"return_subject"} = 'お問い合せありがとうございました';

##送信者に届く自動返信メールの本文 / 特殊整形文字 <resbody>:送信内容一式 / <date>:日付 / <serial>:通し番号 / <input_time>:入力秒
$config{"return_body"} = <<'__return_body__';
<お名前> 様
────────────────────────────────────

この度はお問い合せ頂き誠にありがとうございました。
改めて担当者よりご連絡をさせていただきます。

─ご送信内容の確認───────────────────────────
受付番号:<serial>
<resbody>
────────────────────────────────────

このメールに心当たりの無い場合は、お手数ですが
下記連絡先までお問い合わせください。

この度はお問い合わせ重ねてお礼申し上げます。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                                    
  SYNCK GRAPHICA SAPPORO / noriyuki wada < wada@synck.com >
  〒003-0801 札幌市白石区菊水一条四丁目一番三十九号
  TEL / 011-832-8698 FAX / 011-832-8698
  official web site URL : http://www.synck.com
                                    
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
__return_body__

##件名につける通し番号用ファイル
$config{"serial_file"} = 'serial.dat';

##入力時間の合計を記憶するファイル
$config{"input_time_file"} = 'time.dat';

##コンバージョンレート算出用ログファイル
$config{"conversion_file"} = 'unique.dat';

 ここまでで、メール送信できるはず、ご自分で、登録してみて下さい。上手く行くといいですね。
   大分、長くなりました、上手くメールが開通した方は、次ページにどうぞ。