ここでは、当サイトでも利用している KENT WEB さん配布のメールフォーム、"PostMail"の設置方法を
解説したいと思います。
※ ここでの解説は、CGI の設置場所に指定のないプロバイダ(もしくはレンタルサーバー)の場合の
解説です。
1.KENT WEB さんのサイトへ進み、「データ収集加工」カテゴリの中の"PostMail"の解説ページに入り、
"postmail"圧縮ファイル(Ver: 4.11)をダウンロードします。
※ ダウンロードの前に必ず KENT WEB さんのサイトの「スクリプト利用規定」を読んでください。
メールフォーム配布先の KENT WEB へ ≫
2.生田昇氏作のBASE64変換ライブラリ"mimew.pl"を入手します。入手する手順については、こちらを
ご覧下さい。→ mimew.plの入手方法
3.ダウンロードした"postmail"圧縮ファイルを解凍します。
4.解凍した"postmail"フォルダの中の"lib"フォルダの中に、手順2.で入手した"mimew.pl"を
入れます。
5."postmail"フォルダを「ホームページのフォルダ」の中に入れます。
( ホームページのフォルダは、My ドキュメントフォルダの中にあります。)
6.「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ファイル)のフォームとデザインを変更する ◆
7.ホームページビルダーを起動させて、サイトを開きます。(すでに開いている場合は、 ボタンを
クリックして、サイト情報を更新します。)
すると、ビジュアルサイトビューの「リンクされていない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
ディレクトリ構成の見方が分からない人はこちらをご覧下さい→ディレクトリ構成の見方
|
|
|
8.修正が完了した"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 |
- |
- |
アスキー |
9.設置が完了したら「チェックモード」で確認してみましょう。引数に「mode=check」を付けて呼び出し
ます。
【呼び出し例】
http://www.xxx.xxx/postmail/postmail.cgi?mode=check
以下の様に、全てOKがでたら、問題なく設置されています。

10.最後に、ホームページから「postmail.html」にリンクします。以上で、"PostMail"の設置は
完了です。
自分宛にメールを送ってみて、問題なく動作している事を確認しておきましょう。 |