+-- PRETTY FORM MAIL設置方法等 --+




この度はPRETTY BOOKのCGIスクリプトをダウンロードしてくださり、
ありがとうございます♪

PRETTY FORM MAILは、KENT WEBさん・とほほのWWW入門さんのメールアドレス書式チェックやメール送信部・v1.20よりロックファイル関連など)他を(一部他のサイトからも許可を得て)引用・参考にさせていただき完成させることができたスクリプトです。
(詳しくはスクリプトの内部にも記載してあります)


既にご覧いただいたと思いますが、利用規定にも書いてあるように、
CGIの中に記載されている著作権表示は決して削除しないでください。
また、必ず、見えるように表示させてくださいね。


サポートに関する事項はこちらをご覧ください。


下記にPRETTY FORM MAILの設置に関する説明をいたします。

+設置構成例

−−index.html (トップページ)
−−form.html (フォームページ)
 └−−cgi-bin [任意のディレクトリ] (パーミッション設定値:777)
   ├−−−−pfmail.cgi (パーミッション設定値:755)
   ├−−−−pfmail.log (パーミッション設定値:666)
   ├−−−−pfmail2.log (パーミッション設定値:666)
   ├−−−−jcode.pl (パーミッション設定値:644)
   └−−−−***.gif (タイトルや壁紙画像など)



(注意)パーミッションの設定値はプロバイダによって異なる場合があります。プロバのHP、又は問い合わせして確認してくださいね。

+pfmail.cgiをカスタマイズして、設置する

[1] pfmail.cgiを修正する
  cgiを開き、カスタマイズします。
  (カスタマイズする際のエディタはメモ帳などでもOK)


#!/usr/local/bin/perl
(トップにあるperlのパスを修正します。プロバによって異なるので、ご自分のプロバイダに確認してくださいね。)

# jcode.plの設定(このままだと.cgiとjcode.plは同じディレクトリにある状態)
require './jcode.pl'; (圧縮ファイルに入っていたjcole.plをcgiと同じ場所にアップロードする場合はこのままでOK)

#-sendmailのパスの設定---------------------------------
$sendmail = '/usr/lib/sendmail'; (sendmailのパスを指定。このフォームメールCGIではアップ予定のサーバーでsendmailが使用できない場合はご利用になれません。パスはプロバ・サーバーによって異なるので確認してくださいね。)

#-ファイル名-----------------------------------------
$script = 'pfmail.cgi'; (特に変更する必要がなければこのままでOK)
$logfile = './pfmail.log'; # ログファイル名 (v1.20)
$logfile2 = './pfmail2.log'; # サブログファイル名(内容確認ページを設定する場合に使用します。使用しない場合はこのファイルは不要ですので設定も無視してOK) (v1.20)

#-投稿者のIPアドレスチェックのログ保存件数-----------------------------------
$max = 20; # これを超える記事は古い順に削除されます (v1.20)(送信者のIPアドレス一時保存場所です)

#-フォームからのメールを受信するメールアドレス---------
$mymail = 'pretty@xxx.com'; (フォームからメールを受信するご自分のメールアドレスを設定)

#-フォームからのメールの件名----------------------------
$mailtitle="FORM MAILからのメール"; (フォームから受信するメールのタイトル名を設定)

#-送信者にコピーメールを送信する場合のメールの件名------
$mailtitle2="FORM MAILからメールをありがとうございました。-PRETTY BOOK-";  (送信者に送信内容コピーメールを送信する場合は、ここでメールの件名を設定。コピーメールを送信者に送信しない場合はここは無視してOK)

#-送信完了後からの戻り先URLの設定----------------------
$home = "../../index.html"; (戻り先URLを設定。ホームページのトップなど)

#-タイトルに関する設定---------------------------------
$title = "PRETTY FORM MAIL"; # タイトル名 (このCGIのタイトル名)
$t_color = "#996666"; # タイトル文字の色
$t_size = '14pt'; # タイトル文字サイズ(スタイルシート反映)
$t_face = "MS Pゴシック"; # タイトル文字のタイプ
$t_gif = "./title.gif"; # タイトル画像(画像を使用しないときはここは"";とすること) (タイトル画像を使わない場合はここは何も記載せず"";とすることを忘れないでね。)

#-スタイルシート内のフォントに関する設定----------------
$f_face = 'verdana,chicago,Arial,Helvetica,"MS Pゴシック"'; # 全体の文字フォントフェイス (1個でも、複数でも設定可能)
$f_size = '10pt'; # 全体の文字サイズ・ptで記入
$b_size = '11pt'; # 内容確認・送信完了の文字のサイズ・ptで記入

#-背景色、文字色などBODYタグの設定----------------------
$back_gif = "./kabe5.gif"; # 壁紙(パス付きで指定)
$back_col = "#FFFFFF"; # 背景色
$text = "#996666"; # 文字色
$link = "#996666"; # リンク色:未訪問
$vlink = "#996666"; # リンク色:既訪問
$alink = "#FFCCCC"; # リンク色:訪問中
(BODYタグの設定)

#-Submitボタンのスタイルシートの設定(但し、ブラウザによっては非対応)--
$ps_color = "#FFFFFF"; # submitボタンの文字色
$ps_bgcolor = "#FFCCCC"; # submitボタンの背景色
$ps_border = "#FFCCCC"; # submitボタンの枠の色
(送信ボタンのCSS設定。form.htmlと合わせると統一感が出ていいかも(^-^)

#-お名前とメールアドレスの項目名の設定
#>>>form.htmlに名前とメールアドレスを入力する項目を設定する場合、
#>>>ここに同じnameを設定する必要があります。
#>>>例)form.html内に<input name=お名前 size="20">という項目を設定した場合、$namekoumokuに"お名前";と記載
$namekoumoku = "お名前"; #名前入力項目の名称(input name=***の***にあたる箇所)
$mailkoumoku = "メール"; #メールアドレス入力項目の名称(input name=***の***にあたる箇所)
(form.htmlで設定するフォーム内容に、名前項目とメール項目を使用する場合はここで各項目のnameを設定。必ずform.htmlと同じ名称で設定してくださいね。)

#-送信内容を送信者にも送りますか?(送る=1 送らない=0)---------
#>>>送る場合は、必ずメールアドレス項目を必須にしてください。(必須設定の仕方はform.htmlのソースを見てね)
$copymail = 1; (form.htmlからフォームを送信する相手に送信内容のコピーを送るかどうかの設定)

#-記入内容確認ページを表示しますか?(する=1 しない=0)---------
$formcheck = 1; (送信内容の確認ページを表示するかどうかの設定。ここで0を選択すると確認ページはなく、すぐに送信完了となります)

#-送信内容表示部のテーブルの設定(半角英数字で設定)--------------
$haba = 500; #テーブルの横幅
$border = 1; #テーブルのBORDER
$padding = 3; #テーブルのCELLPADDINGのサイズ
$spacing = 2; #テーブルのCELLSPACINGのサイズ
(送信内容を表示するテーブルタグに関する設定。送信内容確認ページを表示する場合は、確認ページで、
確認ページを表示しない場合は、送信完了ページで送信内容を表示します。その際のテーブルタグをここで設定します)

#-送信内容表示部のテーブルの色設定--------------------------------
$wakucol = "#FFCCCC"; #テーブル枠の色
$headcol = "#FFCCCC"; #ヘッダー部背景色 (項目・記入内容というヘッダー部)
$namecol = "#FFEEEE"; #項目名部分の背景色 (項目名部)
$valucol = "#FFFFFF"; #送信内容部分の背景色 (記入内容の内容部)
$headfcol = "#FFFFFF"; #ヘッダーの文字色
$namefcol = "#996666"; #項目名の文字色
$valufcol = "#996666"; #送信内容の文字色
(上段で設定したテーブルの色に関する設定をここで指定します)。

#-HR水平線の設定--------------------------------
$hrcolor = "#FFCCCC"; #hr(水平線)の色
$hrsize = '1'; #hr(水平線)のサイズ
(水平線のサイズと色の設定)

#-メール内の送信内容各項目のヘッダーポイント(◆☆*+などの記号でね)--
$mark = "□"; (送信内容の各項目のポイントを設定)

#-送信者にコピーメールを送信する場合、メールのトップに「○○様」とお名前が入るようにしますか?
#>>>(する=1 しない=0)
$nm_use = 1;
(送信者にメールを送信する場合、メールのトップに○○様と記入するかどうかの設定。送信内容項目に名前記入欄がない場合やコピーメールを送信しない場合はここは0と指定してくださいね。)


#-送信者に送信内容のメールを送信する設定をした場合の、メールコメント---
#>>>上記の$nm_useを設定している場合は、メールの1行目には相手の名前が入ります(○○様)ので、
#>>>その下に入る文章を下記に設定してください
#>>>下記のコメントの下に送信内容のコピーが貼りつけられます
#>>>(注意)※$copymes = <<E_O_M;と、一番下のE_O_Mは消さないようにね!
#>>>(注意)※メールなのでタグは書かないようにね!
#>>>(注意)※'";などなどの半角記号はエラーの原因になる場合があるので、使用は避けてください。
#>>>(注意)※下記のメッセージの中にメールアドレスを書くときは、@マークの前に\を記入してね!
#>>>(注意)「表示」などの一部の文字は文字化けしてしまうので、テストして化けていたら、
#>>>    文字の後ろに「表\示」こんな風に\をつけてください。

#>>>
$copymes = <<E_O_M;
メールをありがとうございました。

出来る限り早めにお返事をしたいとおもいますので
しばらくお待ち下さいね。

では、これからもどうぞよろしくお願い致します。

Jun
+---------------------------+
HP TITLE
pretty\@xxx.com
http://www.prettyxxx.com/
+---------------------------+
E_O_M
(上記に書いてある注意事項に気をつけて $copymes = <<E_O_M; から E_O_Mの間を埋めてください。特にサーバーによっては、メールアドレスの@の前に\を挿入することを忘れるとエラーになる場合があると思うので、忘れずに設定してくださいね)

# 送信完了後のコメント部分です。タグを使って書いてください。(閉じ忘れには気をつけて!)
#>>>確認ページがない場合は、送信内容が表示され、以下のコメントはその下に入ります。
#>>>確認ページがある場合は、送信完了というサブタイトルの下に入るコメントになります。
#>>>(注意)※$copymes = <<E_O_M;と、一番下のE_O_Mは消さないようにね!
#>>>(注意)表示などの一部の文字は文字化けしてしまうので、テストして化けていたら、
#>>>    文字の後ろに「表\示」こんな風に\をつけてください。
#>>>(注意)※'";などなどの半角記号はエラーの原因になる場合があるので、使用は避けてください。
#>>>(注意)※下記のメッセージの中にメールアドレスを書くときは、@マークの前に\を記入してね!

#>>>
$lastcom = <<E_O_M;
送信が完了致しました。<br><br>
できるだけ早めにお返事致したいとおもいますが、<br>
2週間以上経ってもメールがない場合は、<br>
お手数ですが、下記メールアドレスまでご連絡ください。<br><br>
<a href="mailto:pretty\@xxx.com">pretty\@xxx.com</a><br><br><br>
では、今後ともどうぞよろしくお願い致します。<br>
ありがとうございました。
E_O_M
(上記に書いてある注意事項に気をつけて $copymes = <<E_O_M; から E_O_Mの間を埋めてください。特にサーバーによっては、メールアドレスの@の前に\を挿入することを忘れるとエラーになる場合があると思うので、忘れずに設定してくださいね)

# ホストを取得しますか?(する=1 しない=0)----------------------
#>>>(注)プロバイダ・サーバーによってはここを1としてもホストは取得できない場合があります。
$htget = 0; (ホストを取得すると設定すると、自分宛のメールに相手のホスト情報が入ります。但しサーバーによっては正常に取得できない場合があります)

# method形式(ここはこのままを推奨。GETだとうまくいかないかも(^-^;)--
$method = 'POST'; (GETで正常に動作するかどうか確認していませんので、このままを推奨しています。万が一、プロバイダがGETを指定していたらこのcgiは使わないほうがいいかも・・(^-^;)

#-メール送信時の同一IPアドレスからの連続投稿の間隔(秒数) (v1.20)
# >>>連続投稿などの荒らし対策です。値は30 以上にするといいかも。0だとこの機能は無効
$waittime = 60;(この状態だと60秒以上経たないと再投稿できません)

#-内容確認ページを表示する際の同一IPアドレスからの連続投稿の間隔(秒数) (v1.20)
# >>>内容確認ページを表示させない設定をした場合はここは無視してOK
# >>>内容確認なので、あまり価は長くしない方がいいかも。
$waittime2 = 20;(内容確認の際の再投稿間隔ですので、内容確認後に戻って修正して再送信する時間を考えて、あまり長めに設定しない方がいいかも。でも0にするとこの機能は働かないのでごれぐらいが適当かな??)

#-ロックファイルに関する設定-------------------------------------- (v1.20)
#>>>1でうまくいかなければ、2を設定してみてね。(1か2を推奨)
$lock_kinou = 2; # ファイルロック処理 (0=no 1=symlink 2=open)
$lockfile = './pfmail.lock'; # ロックファイル名




[2] form.htmlをカスタマイズする
 form.htmlを開いて、ソースを見てください。中にform.htmlのカスタマイズに関する注意事項が書いてあります。
主な注意事項を下記にも記載しておきます。
  1. FORMタグの設定
    <FORM action="./pfmail.cgi" method="POST">というように、必ずフォームの一番上に
    pfmail.cgiをform.htmlからのパス付きで指定します。
    http://からでもOKです。
    また、フォームの最後に</FORM>という閉じタグも忘れずに。
  2. 必須項目の設定
    必ず投稿フォームに記載して欲しい事項には、
    <INPUT type="text" name="住所_*" size="20">というように、住所というnameの後ろに続けて、_* 
    を記載してください。
    これがない項目は、未記入でもOKとして処理されます。
    ※radioやcheckboxなどはこの機能は使えません。使用できるのは、input、textareaです。
  3. 名前とメールアドレスの投稿フォームnameについて
    氏名とメールアドレスを、フォーム内に設定する場合は、
    pfmail.cgi内で設定した同じ名称を必ずnameで指定してください。
    例)pfmail.cgiで、
    $namekoumoku = "お名前"; #名前入力項目の名称(input name)
    と設定した場合は、
    <INPUT type="text" name="お名前" size="20">
    と設定する。


[3] FTPでサーバーにアップロードする
 以上、ご自分の環境に修正しなおしたら、FTPでサーバーにアップロードします。
その際、必ず、アスキーモード(テキストモード)でアップロードしてくださいね。
(アイコンなどのgif画像はバイナリモードでアップロードします)


[4] パーミッションの設定をする
 アップロードの際に、忘れずにパーミッションの設定を行ないます。それぞれの設定値は上段の設置構成例に書いてあります。


[5] 最後にリンクを貼る
 CGIをサーバーにアップロードしたら、HPにCGI本体へリンクを貼ります。

<A HREF="http://www.abc.com/who/form.html">フォームメール</A>

という感じになります。



+注意事項

 
当サイトのCGIスクリプトの動作確認はすべてInternet Explorerで行なっています。
ラインの色やフォント、フォームのCSSなどはネスケでは反映されないようなので、見た目がIEとはちょっと違ってしまうかもしれません。



+サポートについて

このスクリプトに関する質問は当サイトのTREE BBSへお願いいたします。
但し、質問前に必ず、利用規定、FAQページ、更にBBS内部のREAD MEを必ずご一読ください。質問時のお約束を守られていない質問にはお答えしかねますので、ご了承ください。
また、個人で運営していますので全ての質問にお返事できるわけではありませんのでその点もご理解ください。
(注意:form.htmlに関する質問はサポート外となりますので、
当サイトのサポート掲示板TREE BBSに投稿されてもお返事出来ませんのでご了承下さい。)

できるだけ、ご本人に努力していただくようにと、このページを圧縮ファイルに入れましたので、がんばってくださいね。

またメールでのサポートもお返事いたしておりませんので、ご了承くださいね。
(でも、バグ情報はメールでお願い致します(^_^;))



+バグについて
まだまだPerlに関しては勉強し始めたばかりで、いろいろと不具合が出てくるかもしれません。私のできる範囲で対処していきたいと思いますので、バグを発見したら、メールでご連絡下さい。お願い致します。
(注意)すべての環境で正常に動作するものではありませんのでご了承下さい。



+無事に設置したら・・・
当サイトにユーザー様専用のリンク集があります。自動登録制となっていますので、是非、登録してくださいね。
また、当サイトはリンクフリーですので(日本語のHPのみ)、ご面倒でなければ、リンクしてくださるとうれしいです(*^_^*)(注:義務じゃありません)



+メルマガ「PRETTY NEWS」・・・
当サイトでは不定期でCGIのバグ情報(^-^;などをお届けするメルマガを発行しています。ときどき重大なバグもあるのでσ(^◇^;)よかったら購読してくださいね!購読申込は当サイトのMAIL MAGAZINEコンテンツ内、またはCGI ROOMトップページで行なえます♪


では、うまく設置できること、祈ってます♪
 



Jun@PRETTY BOOK
+-----------------------------------+
http://www.prettybook.com/
+-----------------------------------+