■ ≪戻る ★ホームページ作成ソフト・ホームページビルダーを中心にした解説/ホームページの作成支援サイト★ ■ ホームへ≫



  ■ フリーCGIのメールフォームを設置しよう


  ◆ プログラムの入手と準備 ◆

  ここでは、当サイトでも利用している KENT WEB さん配布のメールフォーム、"PostMail"の設置方法を
  解説したいと思います。

  ※ ここでの解説は、CGI の設置場所に指定のないプロバイダ(もしくはレンタルサーバー)の場合の
    解説です。


  .KENT WEB さんのサイトへ進み、「データ収集加工」カテゴリの中の"PostMail"の解説ページに入り、
   "postmail"圧縮ファイル(Ver: 4.11)をダウンロードします。
  ※ ダウンロードの前に必ず KENT WEB さんのサイトの「スクリプト利用規定」を読んでください。

    メールフォーム配布先の KENT WEB へ ≫


  .生田昇氏作のBASE64変換ライブラリ"mimew.pl"を入手します。入手する手順については、こちらを
    ご覧下さい。→ mimew.plの入手方法


  .ダウンロードした"postmail"圧縮ファイルを解凍します。


  .解凍した"postmail"フォルダの中の"lib"フォルダの中に、手順2.で入手した"mimew.pl"
    入れます。


  ."postmail"フォルダを「ホームページのフォルダ」の中に入れます。
    ( ホームページのフォルダは、My ドキュメントフォルダの中にあります。)


  .「postmail.cgi」をメモ帳で開いて、以下の赤色の部分を必要に応じて修正します。修正後は必ず
     上書き保存して下さい。


#!/usr/local/bin/perl
  (プロバイダで定められたPerlへのパスを指定します。大抵は
    #!/usr/local/bin/perl
    または
    #!/usr/bin/perl
   のどちらかです。プロバイダで確認して、修正の必要があれば修正して下さい。)



#-------------------------------------------------
# ▼基本設定
#-------------------------------------------------


# MIMEエンコードライブラリを使う場合(推奨)
# → メールヘッダの全角文字をBASE64変換する機能
# → mimew.plを指定
$mimew = './lib/mimew.pl';
  (MIMEエンコードライブラリを使う場合、mimier.pl をパス付きで指定します。これはメールヘッダの
   全角文字をBASE64エンコードする機能で、この機能の利用を推奨しています)

  ※手順4.で、"lib"フォルダの中に"mimew.pl"を入れているので、変更しなくていいです。

# 送信先メールアドレス
$mailto = 'xxx@xxx.xxx';
  (送信先のメールアドレスを指定します)

# 入力フィールドあたりの最大容量(バイト)
# *参考 : 全角1文字 = 2バイト
$max_field = 100;
  (指定が100の場合、50文字以上書き込まれるとエラーになってしまいます。訪問者から感想や
   質問などを記入してもらいたいと考えている方は、変更しましょう。)


# 送信前確認
# 0 : no
# 1 : yes
$preview = 1;
  (メール送信時に「送信前確認をするページ」を表示する場合は 1 、表示しない場合は 0 。)

# メールタイトル
$subject = 'フォームメール';
  (メール受信時の件名になります。)

# 送信後の形態
# 0 : 完了メッセージを出す.
# 1 : 戻り先 ($back) へ自動ジャンプさせる.
$reload = 0;
  (メール送信後に「完了メッセージを表示するページ」を表示する場合は 1 、表示しない場合は 0
   ※ 0 に指定時、「完了メッセージを表示するページ」にある「ボタン」をクリックして戻り先
     ($back) へジャンプします。「完了メッセージは出るけど、戻れないの?」と思った人は、安心
     して下さい。


# 送信後の戻り先【URLパス】
# → http://から記述する
$back = 'http://www.xxx.xxx/';
  (送信後の戻り先URLを http:// からのフルパスで指定します。)

# アクセス制限(複数あれば半角スペースで区切る、アスタリスク可)
# → 拒否ホスト名又はIPアドレスの記述例
# (前方一致は先頭に ^ をつける)【例】^210.12.345.*
# (後方一致は末尾に $ をつける)【例】*.anonymizer.com$
$denyhost = '';
  (拒否するホスト名又はIPアドレスを半角スペースで区切って複数指定することができます)

# 禁止ワード
# → 投稿時禁止するワードをコンマで区切る
$no_wd = '';
  (禁止ワードをコンマで区切って複数指定することができます)
   例: $no_wd = 'あほ,アホ';

# 送信元へ控え (CC) を送る
# 0=no 1=yes
# *セキュリティ上この機能は推奨しません.
# *name="email" のフィールドへの入力が必須となります.
$cc_mail = 0;

# メール送信形式
# 1 : sendmail送信(sendmailが利用可能なサーバ)
# 2 : IO:Socketモジュール送信(ソケット関連のモジュールが利用可能なサーバ)
$send_type = 1;

## sendmail送信のとき ##
# sendmailのパス
$sendmail = '/usr/lib/sendmail';
  ($send_typeで「1」の場合、プロバイダで定められたsendmailパスを調べて、指定します。大抵は、
    /usr/lib/sendmail
    /user/sbin/sendmail
   のどちらかです。sendmailパスが間違っていると、メールが出来ないので注意してください)


##【注】sendmail送信の方は設定はここまでで終了。これより下は設定不要です。

# SMTPサーバ
$server = "mail.server.xx.jp";
  ($send_typeで「2」の場合、SMTPサーバ名を指定します)

# SMTPポート番号(通常は25)
$port = 25;
  ($send_typeで「2」の場合、SMTPのポート番号を指定します。通常は25です)

# POP before SMTPを使用する
# 0 : no
# 1 : yes
$pop_bef_smtp = 0;
  ($send_typeで「2」の場合、POP before SMTPを使用しない場合は 0 を、使用する場合は 1
   します)


# POP3サーバ【POP before SMTPのとき】
$pop3sv = 'mail.server.xx.jp';
  ($send_typeで「2」で、$pop_bef_smtpが「1」の場合、POP3サーバ名を指定します)

# POP3ポート番号(通常は110)【POP before SMTPのとき】
$pop3port = 110;
  ($send_typeで「2」で、$pop_bef_smtpが「1」の場合、POP3のポート番号を指定します。
   通常は110です)


# 接続ID【POP before SMTPのとき】
$user = 'user_id';
  ($send_typeで「2」で、$pop_bef_smtpが「1」の場合、POP3サーバのユーザIDを指定します)

# 接続パスワード【POP before SMTPのとき】
$pass = 'password';
 ($send_typeで「2」で、$pop_bef_smtpが「1」の場合、POP3サーバのパスワードを指定します)


## ↑SMTPサーバへの接続情報ここまで

#-------------------------------------------------
# ▲設定完了
#-------------------------------------------------
                                       ▲ページTOPへ




◆ テンプレート(HTMLファイル)のフォームとデザインを変更する ◆

.ホームページビルダーを起動させて、サイトを開きます。(すでに開いている場合は、ボタンを
  クリックして、サイト情報を更新します。)

  すると、ビジュアルサイトビューの「リンクされていないHTML ファイル」に、"PostMail"
  テンプレート(HTML ファイル)が表示されます。このテンプレート(HTML ファイル)は、
  ユーザサイドで自由に内容やデザイン変更が可能です。

  ※【注】
  各HTMLファイル中のコメント文 (<!-- cell_begin --> など) および、先頭にドルマークが付加
  されたもの($back など)は削除しないように注意してください。
  それ以外は原則として自由に変更して構いません。

 

postmail.html フォーム入力画面
tmp_conf.html 入力内容確認画面
tmp_thx.html 送信完了画面
tmp_err1.html 一般エラー画面
tmp_err2.html 入力内容エラー画面
tmp_body.txt メッセージ本文


  フォーム内容の変更方法は、こちら→ "PostMail"のフォーム内容を変更する




◆ プログラムの設置とパーミッション設定 ◆

ホームディレクトリ(ここでは public_htmlディレクトリとします)の下に、postmailディレクトリ
設置します。全体のディレクトリ構成とファイル位置例は以下のとおりです。
(ちなみにディレクトリとは、フォルダの事です。)



  【ディレクトリ構成例】(かっこ内はパーミッションの設定値)

   public_html / index.html (トップページ)
      |
      +-- postmail / postmail.html
         |    postmail.cgi  [705]
         |
         +-- lib / jcode.pl    [604]
         |     io-socket.pl  [604]
         |     mimew.pl    [604] ... 任意
         |
         +-- tmpl / body.txt
              conf.html
              thx.html
              err1.html
              err2.html


  ディレクトリ構成の見方が分からない人はこちらをご覧下さい→ディレクトリ構成の見方



.修正が完了した"postmail"フォルダを所定のディレクトリにFTP転送し、以下のとおり
  パーミッションを設定します。
                       パーミッション(アクセス権)の変更の仕方

ファイル名 パーミッション 転送モード
 一般サーバー  suEXECサーバ
CGIWrapサーバ
postmail.cgi 755 or 705 701 or 700 アスキー
jcode.pl
io-socket.pl
mimew.pl
644 or 604 600 アスキー
*.html
*.txt
- - アスキー


.設置が完了したら「チェックモード」で確認してみましょう。引数に「mode=check」を付けて呼び出し
  ます。

  【呼び出し例】
   http://www.xxx.xxx/postmail/postmail.cgi?mode=check

  以下の様に、全てOKがでたら、問題なく設置されています。

  


10.最後に、ホームページから「postmail.html」にリンクします。以上で、"PostMail"の設置は
   完了です。

   自分宛にメールを送ってみて、問題なく動作している事を確認しておきましょう。

                                        ▲ページTOPへ

  「フリーCGIのメールフォームを設置しよう」に関する解説は以上です。


  ■ ≪戻る




さぬきWEBは個人・お店用ホームページ制作代行を行っているSOHOです  さぬきWEBは個人・お店用ホームページ
 制作・作成代行を行っているSOHOです
 さぬきWEBへ≫
ホームページ作成ソフト・ホームページビルダーを中心にした解説/ホームページの作成支援サイト/ホームページを築城せよ!!  ホームページ作成ソフト・ホームページ
 ビルダーを中心にした解説/
 ホームページの作成支援サイト

Copyright(C)2006 ホームページを築城せよ All Rights Reserved