メールフォーム(CGI)設置の覚え書き

新規サイトのメールフォームの設置について、恥ずかしながら前回はロリポップのフォームを貼付けただけなので、かなり苦労したので覚え書き。
いろいろ調べたが、クライアントのWADAXサーバーが使用している「KENTWEB」に決定。
フォームのデザインは既に作り込んでいるので,それが作動すれば良い。。。。だけだったんだけど、大変でした!

1:サーバーから簡単インストールしてみたら「cgi-bin」フォルダに入る。

 動かしたいのは既に作ったフォームなので、外部フォルダのファイルからCGIを読み込もうとするがエラーで全く繋がらない。
ので、もっと簡単そうな「postmail-utf」を使う事にする。。。。

2:init.cgiのメールの送信先を変更

# 送信先メールアドレス
$cf{mailto} = '○○○@○○○.ocn.ne.jp';

3:.htaccess」が無かったので新規作成してCGIの実行を許可する。

Options ExecCGI //CGIを実行できる領域に設定

●動かないのでCGIを「cgi-bin」の外に設置して、一つのフォルダにカスタマイズしたファイルも全部入れ込んでみる。

cgi-bin」の外にフォルダをおきたい時には、以下を書き込む。

Options +ExecCGI 
AddHandler cgi-script .cgi //cgi-bin以外でのCGI実行許可

※後で知ったが、WADAXはCGIをどこに置いてもOK。
コントロールパネルにログインし、画面左側[WEB管理]--[.htaccess設定]から編集可能。

4:パーミッション(アクセス権)をサーバー指定に変更。

WADAXのパーミッションに変更。cgiが設置されているディレクトリのパーミッションを「705」に設定。
(私が使用している「File Zilla」の場合だと、右クリックで出て来る画面の一番したで変換出来る)

5: sendmailのパス【サーバパス】が違ったので変更。

プロバイダの指定を確認のこと

$cf{sendmail} = '/usr/sbin/sendmail';


6:「check.cgi」でチェックする。

okが出たので、第一歩クリア!エラー続きだったけど、やっと送信成功しました〜。
という事で大変だったけど,勉強になりました。

参考

●入力必須項目を強制指定する(半角スペースで複数指定可)
ラジオボタンチェックボックス対策
name値を「need」、value値を「必須項目1 + 半角スペース +必須項目2 + 半角スペース ...」
(例)

●2つの入力内容が同一かをチェックする
name値を「match」、value値を「項目1 + 半角スペース + 項目2」
(例)

<form action="./postmail.cgi" method="post">
<input type="hidden" name="need" value="name email 問合せ種別 メッセージ" />
<input type="hidden" name="match" value="email email2" />