mkMail+ 設置方法

大雑把な手順

  1. ダウンロード・解凍
  2. CGIファイルの編集はUTF-8を編集できるエディタで行います。
  3. mkMail.cgi の1行目をお使いのサーバに合わせて適宜修正。
    ini.cgi は設定ファイルになります。適当に編集してください。
  4. ファイルをサーバにアップします。パーミッションについては後述。
  5. 同梱の sample.html や、実際の設置ページにアクセスしてテストしてみてください。正しく動いたら設置は完了です。

ファイル構成とパーミッション

mkMail+/
 |
 +-- lib/
 |     +-- cgi.pl
 |     +-- error.pl
 |     +-- mail.pl
 |     +-- Template.pm
 |
 +-- lock/         [707]
 |     +--error    [606]
 |     +--lockfile [606]
 |
 +-- skin/
 |     +-- ...
 |
 +-- mkMail+.cgi   [705]
 +-- ini.cgi

なにも書いてないファイルやディレクトリは、特にパーミッション変更の必要はありません。
サーバによっては 707 や 606 が使えないことがありますので、その場合はサーバの指示に従って適宜変更してください。

サーバに HTML::Template モジュールがインストールされていることが分かっている場合、Template.pm は削除してもOKです。


呼び出し方法

同梱したサンプルを参考にしてください。FORMタグでcgiファイルを起動する方法が主だと思います。


フォーム部品のNAME属性

使用するフォーム部品の名前(NAME属性)は基本的に自由です。
ただし、以下の名前は特別な意味を持ちます。

do_preview
プレビューを行うか否か。値が1なら行い、0なら行いません。
mail
メールアドレスが入力されているものとして整合性チェックを行います。
send_copy
ユーザー宛にメールの写しを送信するか否か。値が1なら送信し、0なら送信しません。送信する場合、ユーザーのメールアドレス入力が必須になります。
skin_error_path
エラーページ用スキンのパス。
skin_mail_m
管理者宛メール本文用スキンのパス。
skin_mail_u
ユーザー宛メール本文用スキンのパス。
skin_mailed_path
送信後ページ用スキンのパス。
skin_preview_path
送信内容のプレビューページ用スキンのパス。
subject
メールのタイトル。
to
送信先アドレスを設定するキー。必須
1文字目が半角数字のもの("1_text"など)
使えません。仕様です。
version、url、full、cgi、hidden
mkMail+ が使ってしまってるのでフォーム部品名としては使えません。
urlとかの一般的な単語を使っちゃったのはよろしくないなぁと今頃思っている(´・ω・)

……やたら多くなってしまいましたが、メールフォームとして必須なのは「to」だけです。あとの設定は任意なので、あえて設定しなくても使えます。
フォーム部品の名前は、上記以外の名前ならなんでもOKです。「半角英数字+アンダーバー」を推奨しますが一応全角文字も使えます。※運用開始前にしっかり動作チェックしてください。

必須入力項目の設定

あるフォーム部品について入力必須にしたい場合は、そのNAME属性に、「__name」「__mail」のような「__」(半角アンダーバー2つ)で始まる名前をつけてください。
この規則に合う部品と to (送信先アドレス設定)については、送信前に入力チェックが行われます。


スキン内での置換タグ

「プレビューページ」「送信後ページ」「エラーページ」「管理者宛メール本文」「ユーザー宛メール本文」の各スキン内で使えるタグについて。

各スキン共通の置換タグ

タグ内は大文字小文字問いません。

<!--TMPL_VAR name="version"-->
mkMail+ のバージョン情報と置換されます。
<!--TMPL_VAR name="url"-->
mkMail+ 配布ページのURLと置換されます。
<!--TMPL_VAR name="full"-->
バージョン情報とリンクの書き出し
(出力例:<a href="http://ivy.xii.jp/Kash/" target="_blank">mkMail+ v0.01</a>

プレビューページ・送信後ページ内で使える置換タグ

すべてを使う必要はありませんが、プレビューページでは最初の2項目が正しい場所に必要です
同梱しているサンプルのソースを参考にしてください。

<!--TMPL_VAR name="cgi"-->
CGIファイル名と置換されます。
<!--TMPL_VAR name="hidden"-->
(プレビューページ用)FORMタグ内に置いてください。
<!--TMPL_VAR name="(各フォーム部品のNAME属性)"-->
メールフォーム内で使われている各部品のNAME属性を指定すると、その部品に入力された内容と置換されます。たとえば、
ソース:<input type="text" value="なまえ" name="aaa">
↑このフォーム部品のNAME属性は「aaa」になっています。これをプレビューページや送信後ページで表示したい場合には、スキン内に
<!--TMPL_VAR name="aaa"-->
という置換タグを置きます。
ただし、「__name」などのように入力必須として設定された部品の場合、「__」を取り除いた部分(例では「name」)を指定します。

エラーページ内で使える置換タグ

<!--TMPL_VAR name="error_message"-->
エラー内容を示すメッセージと置換されます。

その他特記事項

HTMLページのスキンには文字コード指定用のMETAタグを入れてください。文字化け予防です。
(例:<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">