メールフォームの作成(POST-MAIL) 作成日 作成者 年 月 井上 澄人 日 ■POSTーMAILについて POST-MAIL とは、個人・法人のいずれも自由(無償)に利用可能で、WEB ページへ簡単に設置できる メールフォーム(お問い合わせフォーム)です。累計 50 万回ほどダウンロードされた実績があります。 (1)配布サイト KENT-WEB( http://www.kent-web.com/ )で配布されています。 Shift-JIS 版/UTF-8 版の2種類が用意されており、同じサイト内で上位互換のプログラムも 配布されています。 (2)動作環境 「Perl(CGI)/sendmail」の両方が動作する環境であれば動作します。 私の場合、Linux(レンタルサーバ)では動作確認していますが、Windows(開発用 PC)では 動作を確認していません。POST-MAIL は内部で sendmail というメール送信プログラムを利用してい ます。しかし、Windows では sendmail が無償で利用できず、代替ソフトによる送信も失敗します。 そこで、サイトが未完成の段階からレンタルサーバの「テスト環境」へ公開・開発しています。 なお、私が利用しているレンタルサーバ契約「Sakura インターネット スタンダード」や 「ServerQueen Q-S1」は POST-MAIL の「簡単インストール」に対応しています。 ただし、ServerQueen Q-S1 の場合は注意が必要です。この方法で同一ドメイン内に導入できる POST-MAIL は1つに限定されます。パソコン版サイト・スマホ版サイトの両方に POST-MAIL を 導入するならば、2つ目以降の POST-MAIL に関しては、後述する「アクセス権限」に注意して、 レンタルサーバの「簡単インストール」を使わず POST-MAIL を設置する必要があります。 (3)機能 POST-MAIL には、入力必須チェック/二項目の同一チェック/メールアドレス書式チェックの 3種類の入力チェック機能があります。また、成功画面の有り/無し、文字コードの自動判別など 細かな設定も可能です。 (4)使用方法 レンタルサーバへ FTP でログイン、POST-MAIL の構成ファイルを FTP でアップロードします。 その後、いくつかのファイルのアクセス権限を変更して、実行可能な状態にします。 そして、設定ファイル「inig.cgi」を編集して、いくつかの画面を HTML で作成して完成です。 より詳細な手順は、後述する「POST-MAIL の設置」や「POST-MAIL のアクセス権限」を 参考にして下さい。 Copyright(C) 2014 www.go-java.net All Rights Reserved メールフォームの作成(POST-MAIL) 作成日 作成者 年 月 井上 澄人 日 ■POST-MAILの構成ファイル ファイル名 postmail.cgi 内容 正常動作に アクセス権限 必須なファイル 変更が必須 POST-MAIL の中核プログラム。 メール送信・確認画面・エラー画面の ○ 表示など、多機能で重要なプログラム。 check.cgi POST-MAIL の動作テスト用プログラム。 通常はあまり利用されない。 init.cgi ? 設定ファイル。 ここで送信者メールアドレスや ○ 送信前の確認の有無、 data/log.cgi data/ses.cgi ログファイル。 ? セッションファイル(詳細は不明)。 ○ (755) ○ (755) ○ (666) ○ (666) ○ (666) tmpl/mail.txt 求人用のメールアドレスに 送られてくるメール本文。 tmpl/reply.txt 応募者への返信メールに 用いるメール本文。 tmpl/conf.html メール送信前の確認画面。 tmpl/thx.html メール送信後の成功を伝える画面。 ※フォルダを tmpl 以外に変えると ○ - ○ - △ - ◎ - ◎ - ◎ - 異常動作が直ることがあります。 tmpl/err1.html メール送信時の入力チェックで メールアドレス書式の異常や システム内部の異常を表すエラー画面。 tmpl/err2.html メール送信時の入力チェックで 異常がある場合の入力エラー画面。 ■POST-MAILの設置 (1)アップロード POST-MAIL の構成ファイル(全て)を WEB サーバへ FTP アップロードします。 また「問い合わせフォーム」と「エラー画面1、エラー画面2、成功画面、確認画面」は、 ドメイン直下から 1~2 階層ほどの浅い階層へ設置して下さい。 そして、設定ファイル「init.cgi」を編集・ FTP でアップロードします。 POST-MAIL の構成ファイル( /post-mail/○○○ )は初期状態から移動しない方が良いでしょう。 Copyright(C) 2014 www.go-java.net All Rights Reserved メールフォームの作成(POST-MAIL) 作成日 作成者 年 月 井上 澄人 日 ■各種画面の作成・配置 KENT-WEB( http://www.kent-web.com/mail/postmail.html )のホームページに記述されている情報を 手掛かりに、必要なテキストファイル・ HTML ファイルを作成・編集します。 【 応募フォームの HTML 】 <form action="../post-mail/postmail.cgi" method="post"> <input type="hidden" name="need" value="name email email2 お電話 ご年齢 身分証 面接希望日時" /> <div class="contact"> <table> <tr><th>ご氏名</th> <td><input type="text" name="_name" value="" /></tr> <tr><th>お電話</th> <td><input type="text" name="_お電話" value="" /></td></tr> <tr><th>メールアドレス</th> <td><input type="text" name="_email" value="" /></td></tr> </table> </div> <p align="right" style="margin-right:20px;"> <input type="submit" value="送信" /><input type="reset" value="リセット" /></p> <input type="hidden" name="match" value="email email2" /> </form> <BR> ■POSTーMAILのアクセス権限 POST-MAIL は、初期設定のアクセス権限では正常に動作しないため、アクセス権限を変更します。 FTP アップロードした後、POST-MAIL 構成ファイルのアクセス権限を、以下のように設定します。 ファイル名 アクセス権限 転送モード postmail.cgi check.cgi 755 ASCII モード init.cgi 666 data/log.cgi 666 (アスキーモード) data/ses.cgi Copyright(C) 2014 www.go-java.net All Rights Reserved メールフォームの作成(POST-MAIL) 作成日 作成者 年 月 井上 澄人 日 ■モバイル版の作成 パソコン版で作成したファイル/ソースコードの多くはスマホ版に流用できます。 特 に 設 定 フ ァ イ ル ( init.cgi ) と 受 信 メ ー ル 本 文 ( tmpl/mail.txt ) 、 返 信 メ ー ル 本 文 ( tmpl/reply.txt )は、全く編集せず、そのままスマホ版に流用できます。 また、確認画面・エラー画面1・エラー画面2の元となる HTML には以下のコードが含まれます。 いずれも誤って削除すると、POST-MAIL が正常に動作しなくなるため、画面の編集には注意して下さい。 画面 削除できないタグ 確認画面 <!-- cell_begin --> <!-- cell_end --> !key! !val! !key! !val! <!-- hidden --> <form action="!mail_cgi!" method="post"> エラー画面1 !error! エラー画面2 <!-- cell_begin --> <!-- cell_end --> スマホ版/パソコン版のいずれも、確認画面・エラー画面1には、前の画面で入力したデータが テーブル<table>タグで表示されます。具体的には、項目名が<TH>タグ・入力データが<TD>タグとして 表示されます。 この仕様はパソコン版の応募フォームを作成する上では問題ないのですが、スマホ版の応募フォーム を作成する際には、レイアウトが崩れる問題が発生します。これを防ぐには、確認画面・エラー画面1 のソースを以下のように変更します。後はスマホ版の CSS ファイルで<tr><th><td>のスタイルを 定義するだけです。 変更前(パソコン版) 変更後(スマホ版) <!-- cell_begin --> <!-- cell_begin --> <tr> <tr> <th>!key!</th> <td>!val!</td> </tr> <!-- cell_end --> <th>!key!</th> </tr> <tr> <td>!val!</td> </tr> <!-- cell_end --> ■注意点 ・文字化けが発生した場合は「init.cgi」の「$cf{conv_code} = 0;」の値を 1 に変更 ・コメントや「!○○○!」で囲われた部分は変更・削除しない 変更・削除するとエラーメッセージ「テンプレートが不正」と表示されます ・メールが 25 番ポートブロック ( Outbound Port25 Blocking ) されていないか注意 Copyright(C) 2014 www.go-java.net All Rights Reserved
© Copyright 2024