futomi's CGI Cafe

MP Form Mail CGI Standard 版 Ver 4.2

 
Web上にて、お問い合わせや注文などを受け付け、メールを指定のメールアドレスへ送信するCGIです。添付ファイルも送ることができます。また、フォーム、確認画面、エラー画面は、テンプレート方式のため、自由にデザインすることができます。自動メール返信機能つきですので、お問い合わせいただいた方へのフォローも万全!
■ 目次
 
■ 主な機能
  • 添付ファイルを受け付けることができます。

フォーム(入力画面)でファイルを指定して、添付ファイルとして受け取ることができます。CGI にて MIME エンコード(Base64)します。

  • 確認画面表示機能つき

入力フォームにて入力したものを確認するための画面を表示することができます。設定で表示する、しないを選ぶことができます。

  • フォーム(入力画面)、確認画面、エラー画面を自由にカスタマイズできます。

これらの画面は、テンプレート方式をとっていますので、あなたのサイトのイメージに合わせたデザインが可能です。

  • 自動返信メール送信機能つき

お問い合わせ、注文などでご利用いただくときには、送信者に対して自動的にメールを返信することができます。返信メールの文章も、テンプレート方式をとっていますので、利用シーンに応じてカスタマイズ可能です。また、フォームで入力値を返信メール内に埋め込むことができますので、メールのはじめに、「○○○○様」のような文言を付け加えることができます。

  • メールフォーマットカスタマイズ機能

メールフォームから送信されるメールの文面もカスタマイズ可能です。デフォルトでは、規定のフォーマットで送信されます。しかし細かく指定したい場合には、テンプレート方式を採用できますので、デザインは自由自在です。

  • 簡易折返・英文ワードラップ機能

フォームメールの場合、利用者は改行を入れずに投稿することが多々あり、読み手にとっては、メールソフトで読みにくくなります。簡易折返・英文ワードラップ機能を使うことにより、指定文字で折り返され読みやすくなります。

  • ロギング機能

フォームの内容をメールで送るだけではなく、ログファイルに保存することが可能です。ログファイルフォーマットは、「カンマ区切り」「スペース区切り」「タブ区切り」から選択できます。Execlのような表計算ソフトに取り込むときに便利です。

  • 文字制限機能

テキストエリアやテキストフィールドでの文字数制限をかけることができます。

  • 添付ファイルサイズ制限機能

添付ファイルのファイルサイズの上限を設定することができます。

  • 必須項目の指定

フォームメールCGIでは、必ず入力・選択してもらいたい項目があるものです。MP Form Mail CGIでは、個々に必須項目を設定することができますので、せっかく頂いたメールの情報不足から開放されます。

  • シリアル番号付与

各メールには、シリアル番号(一意的な番号)を付与することができます。シリアル番号は、送信していただいた方への自動返信メールにも入れることができます。注文番号やお問い合わせ番号にご利用いただけます。

  • 受付拒否機能

ドメイン名やIPアドレスを指定して、利用できないようにすることができます。いたずら対策にご利用いただけます。

  • 添付ファイルの拡張子を限定

不要な添付ファイルを送られないよう、添付ファイルの拡張子を限定することができます。特殊用途でいつも決まったファイルを送るようなシーンでご利用いただけます。

  • 外部サーバ利用禁止機能

自分の知らない間に、不正に設置したCGIを使ってメールを送信されてしまうことがありえます。それに対抗するために、リクエストをすることができるフォームのURLやドメインを限定することができます。フォームのURLやドメインを限定すれば、不正利用を防ぐことができます。

 
■ CGI利用規定の同意

CGI利用規定をご覧になり、同意した上で、ご利用ください。

CGI利用規定を読む

 

 
■ シェアウェア料金

【料金】

※ Ver 4.0 より個人利用においてもシェアウェアとなりましたので、ご注意下さい。

個人利用 法人・商用利用
1サイトあたり
\1,050
(うち税 \50)
1サイトあたり
\2,100
(うち税 \100)
  • 個人利用であっても、個人商店など商用サイトでのご利用の場合には、「法人・商用利用」を適応いたします。
  • ホームページ作成代行業などの業者様でクライアントに対して本CGIを代行で設置提供する場合には、「法人・商用利用」を適応いたします。
  • 本CGIは、同サイト内であればいくつ設置して頂いても構いません。ただし、運営者が同じでも、主旨が異なるサイトに設置する場合には、それぞれにシェアウェア料金を適応します。
  • 本CGIは、試用期間を設けておりません。シェアウェア料金をお支払いいただく前に、十分ご試用いただき、ご納得いただいてからお支払いいただきますようお願いいたします。

【支払い方法】

クレジットカード決済、コンビニ決済、Vectorシェアレジ、銀行振込をご用意しております。シェアウェア料金のお支払はこちらからどうぞ。

クレジットカード決済
コンビニ決済
VISA
MASTER
Diners Club
ローソン
セイコーマート
ミニストップ
デイリー
ヤマザキ

■ ファイルの一覧と機能

CGI をダウンロードし、解凍してください。それぞれのファイルについて解説します。

ファイル名 パーミッション1 パーミッション2 転送モード ファイルの機能
 mpmail/
変更不要 707 本CGI用ディレクトリ
 mpmail.cgi
704 705 [ASCII] MP Form Mail CGI本体
 mpconfig.cgi
変更不要 変更不要 {ASCII] 設定ファイル
 maillog.cgi
変更不要 606 [ASCII] ログファイル
 form.html
変更不要 変更不要 [ASCII] フォームサンプルHTML
 confirm.html
変更不要 変更不要 [ASCII] 確認画面サンプルHTML
 error.html
変更不要 変更不要 [ASCII] エラー画面サンプルHTML
 mail.txt
変更不要 変更不要 [ASCII] メールテンプレート
 reply.txt
変更不要 変更不要 [ASCII] 自動返信メールテンプレート
 jcode.pl
変更不要 変更不要 [ASCII] 日本語コード変換ライブラリー※3
 attachment/
変更不要 707 添付ファイル作業ディレクトリ※1
 Readme/
ReadMe※2
※1 このディレクトリ内は空ですが、サーバ上で必要となりますので、必ず他のファイルと一緒にサーバへアップロードしてください。
※2 HTML 形式の ReadMe ファイルです。このホームページが入っています。このフォルダは、サーバへアップロードする必要がありません。
※3 jcode.pl は、歌代 和正 <utashiro@iij.ad.jp> 氏によって作成されている、日本語コード変換を行うための Perl ライブラリです。

■ 転送先

 CGI ファイルと、HTMLファイルを何処に設置してもよいプロバイダーの場合には、本CGI を解凍したディレクトリ構成のまま、サーバへアップロードしてください。CGI ファイルは、専用のディレクトリ(cgi-bin等)に設置しなければいけないプロバイダー(WebARENA等)の場合には、form.html を除いたすべてのファイルを CGI専用のディレクトリへアップロードしてください。form.html は、通常のHTMLファイル等ををアップロードする場所へアップロードしてください。

■ パーミッション

これらパーミッションは、あくまでも例です。お使いのプロバイダー、レンタルサーバ業者の指示に従ってください。

上表には、パーミッションの指定が 2 種類指定されております。CGI がオーナー権限で実行されるサーバをお使いの場合には、パーミッション1の設定を使ってください。CGI が ohter 権限で実行されるサーバをお使いの場合には、パーミッション2の設定を使ってください。

CGI がオーナー権限で実行されるか、other 権限で実行されるかは、お使いのプロバイダーもしくはレンタルサーバ業者に確認してください。おおむね、CGI ファイルのパーミッションが、704 でも動作する場合には、オーナー権限で実行されると考えても結構です。CGI ファイルのパーミッションが、705 もしくは 707 でないと動作しない場合には、other 権限で実行されているとお考えください。

「変更不要」と指定しているファイルは、サーバにアップロードするだけで OK です。あえてパーミッションを変更しないでください。

■ その他

logs 内に格納されている delete_me.txt は、ダミーのファイルで不要です。サーバにアップロードする必要はありません。アクセスログファイルは、解析ページにアクセスされると自動生成されます。逆に自動生成されなかった場合には、ディレクトリ logs のパーミッションが正しく設定されていないことが考えられます。


■ Let's get started!

とりあえず、動かしてみましょう。以下の手順に従って、サンプルを動かしてみましょう。

  1. リダイレクト先ホームページの準備

このCGIを仕込む前に、リダイレクト先ホームページを準備して頂かなければいけません。これは、フォームに入力して送信した後に表示されるページのことです。「ありがとうございました」などのような感謝の気持ちをこめたメッセージを掲載するといいでしょう。出来上がったら、サーバにアップしておいてください。

  1. Perlのパス設定

ご利用のサーバによって、Perl のパスが異なります。デフォルトでは「#!/usr/local/bin/perl」と設定しております。プロバイダーの指示に従い、「mpmail.cgi」の1行目を書き換えてください。

  1. CGIの設定

「mpconfig.cgi」をテキストエディターで開いてください。すべて設定は、このファイルで指定します。ここではとりあえず動かしてみるだけですので、最小限の設定をご案内します。

  • メール送信先アドレスの設定

フォームから送信されたメールを受け取るメールアドレスの指定です。あなたのメールアドレスを指定して下さい。

#--------------------------------------------------------------------
#■メール送信先アドレスの設定
# フォームから送信されたメールを受信するメールアドレスを指定して下さ
# い。フォームから送られたメールは、ここで指定するメールアドレスに届
# きます。
# 例:
# my $MAILTO = 'master@futomi.com';
#--------------------------------------------------------------------

my $MAILTO = '';
  • リダイレクト先 URL

先ほど準備したリダイレクト先ホームページのURLを指定して下さい。必ず、http:// から指定して下さい。

#--------------------------------------------------------------------
#■リダイレクト先URL
# フォームから送信した後に表示されるページのURLを指定します。
# 必ず、http:// から指定して下さい。
# 例:
# my $REDIRECT_URL = 'http://www.futomi.com/other/thanx.html';
#--------------------------------------------------------------------
my $REDIRECT_URL = '';
  • sendmailの指定

メールを送信するためのプログラムの指定です。プロバイダーによって異なりますので、お使いのプロバイダーの指定に従って、指定して下さい。

#--------------------------------------------------------------------
#■sendmailの指定(フルパスで指定して下さい。)
# sendmailのパスは、お使いのプロバイダにお尋ねください。
#--------------------------------------------------------------------

my $SENDMAIL = '/usr/lib/sendmail';
  • 自動返信メール用送信元メールアドレス

自動返信メールの差出人のメールアドレスの指定です。あなたのメールアドレスを指定して下さい。

#--------------------------------------------------------------------
#■自動返信メール用送信元メールアドレス
# 自動返信メールの差出人となるメールアドレスの設定です。主に、あなた
# のメールアドレスを設定することとなります。
# 自動返信メール設定をONにする場合は、必ず正しいメールアドレスを指定
# して下さい。
# 例:
# my $FROM_ADDR_FOR_REPLY = 'master@futomi.com';
#--------------------------------------------------------------------
my $FROM_ADDR_FOR_REPLY = '';
  1. フォームHTMLの編集

「form.html」をテキストエディターで開いて下さい。

<form method="POST" action="http://xxxxx/mpmail.cgi" enctype="multipart/form-data">

この記述の http://xxxxx/mpmail.cgi の部分を、あなたの環境に合わせて書き換えてください。

  1. サーバへアップロード

これで設定は完了ですので、サーバへアップロードしましょう。すべてのファイルを ASCII モードで転送してください。ホームページコンテンツと CGI のディレクトリが異なるプロバイダーをご利用の方は、「form.html」をホームページコンテンツ用のディレクトリへ、その他は CGI 用のディレクトリへアップロードしてください。転送が完了しましたら、「mpmail.cgi」のパーミッションを「705」にして下さい。もし、お使いのサーバが異なるパーミッションを指定しているようでしたら、サーバ事業者の指示に従ってください。

  1. さぁ! 試験してみましょう

サーバへアップロードした「form.html」に、ブラウザーでアクセスしてみてください。フォームサンプル画面が表示されましたね。これでいろいろ試してみてください。機能の概要が分かってくるかと思います。この試験で送られたメールと、自動返信されたメールはともにあなたのメールアドレスに届いているはずです。そのメールの内容もチェックしてみてください。

いかがでしたか?ちゃんと動いたでしょうか。これからは、あなたの環境に合わせて、少しずつカスタマイズしていってください。次から、カスタマイズの方法をご案内します。ただし、次より説明するカスタマイズ内容はすべてではありません。必ず、設定ファイル mpconfig.cgi の内容をすべて確認して、適切に設定してください。

 
■ フォームの編集方法

メールフォームは自由にカスタマイズすることができます。サンプルの「form.html」を例にとり説明します。

<form method="POST" action="http://xxxxx/mpmail.cgi" enctype="multipart/form-data">
<table border="1" cellspacing="0">
<tr>
<td height="23" nowrap>■ おなまえ</td>
<td height="23"><input type="text" name="name" size="20"></td>
</tr>
<tr>
<td height="23" nowrap>■ メールアドレス</td>
<td height="23"><input type="text" name="mailaddress" size="20"></td>
</tr>
<tr>
<td height="12" nowrap>■ タイトル</td>
<td height="12"><input type="text" name="subject" size="20"></td>
</tr>
<tr>
<td height="12" nowrap>■ 感想</td>
<td height="12"><textarea rows="3" name="opinion" cols="40"></textarea></td>
</tr>
<tr>
<td height="12" nowrap>■ 添付ファイル</td>
<td height="12"><input type="file" name="attachment"></td>
</tr>
</table>
<p><input type="submit" value=" 送  信 " name="B1"></p>
</form>

form タグ内には、必ず、「enctype="multipart/form-data"」を加えてください。これがないと、添付ファイルを送ることができません。添付ファイルが不要の場合には、「enctype」は不要です。

name 属性は、お好きな文字列で指定して下さい。ただし、半角括弧はご利用いただけませんので、ご注意ください。また、name 属性には以下のとおり、予約語があります。予約語の意味をご理解し、適宜ご利用ください。

name属性名 説明
mailaddress name 属性名を「mailaddress」とすると、それに入力された値は、入力者のメールアドレスとみなし、返信メールの送信先アドレスに指定します。また、自動的に入力値チェックを行いますので、全角での入力や、メールアドレスとしては、不適切な文字列が入力されると、エラーを返します。自動返信メール送信機能を使う場合には、必ずメールアドレスの欄の name 属性名を「mailaddress」にして下さい。
subject name 属性名を「subject」とすると、送られてくるメールのサブジェクトにします。「subject」がないと、「mpconfig.cgi」で「■デフォルトのメールサブジェクト」で設定したものが割り当てられます。
attachment 添付ファイルを付けたい場合には、name 属性を「attachment」としてください。「attachment」と指定しないと、添付ファイルとしてみなしませんので、ご注意ください。

■ 確認画面テンプレートの編集方法

確認画面は、「confirm.html」ファイルを編集することにより、自由にカスタマイズすることができます。同梱されているサンプルの「confirm.html」を例にとり説明します。

<form method="POST" action="$cgiurl$" enctype="multipart/form-data">
$hidden$
<table border="1" cellspacing="0">
<tr>
<td height="23" nowrap>■ おなまえ</td>
<td height="23">$name$</td>
</tr>
<tr>
<td height="23" nowrap>■ メールアドレス</td>
<td height="23">$mailaddress$</td>
</tr>
<tr>
<td height="12" nowrap>■ タイトル</td>
<td height="12">$subject$</td>
</tr>
<tr>
<td height="12" nowrap>■ 感想</td>
<td height="12">$opinion$</td>
</tr>
</table>
<p><input type="submit" value=" 送  信 "></p>
</form>

確認画面のformタグ内の action 属性の値には、例のように必ず「$cgiurl$」と指定して下さい。また、formタグの次の行に、「$hidden$」を必ず入れて下さい。

フォームに入力された値を、確認画面に表示させたい場合には、

$name属性名$

と記載します。name 属性とは、フォームで指定した name 属性名と同じものです。上の例では、「$name$」「$mailaddress$」「$subject$」「$opinion$」の部分となります。

尚、確認画面を表示させるようにするためには、設定ファイル mpconfig.cgi で設定が必要です。下記の通り設定を変更した上で、お試し下さい。

#--------------------------------------------------------------------
#■確認画面表示設定
# メールを送信する前に確認画面を表示するかを設定します。確認画面には
# 次で設定する確認画面用テンプレートHTMLが表示されます。ただ、添付フ
# ァイルがある場合には、確認画面表示設定を「表示する」に設定したとし
# ても、確認画面は表示されませんのでご注意下さい。
# 0:表示しない
# 1:表示する
#--------------------------------------------------------------------
my $CONFIRM_FLAG = 1;

 
■ エラー画面テンプレートの編集方法

エラー画面は、「error.html」ファイルを編集することにより自由にカスタマイズすることができます。同梱されているサンプルの「error.html」を例にとり説明します。

<table border="0" width="50%" bgcolor="#F1D7FF" cellpadding="10">
<tr>
<td width="100%"><font color="#990033">$error$</font></td>
</tr>
</table>

このエラー画面で注意すべきところは、「$error$」だけです。この部分に、エラーメッセージが表示されますので、お好きなところに、「$error$」を記述して下さい。もし、個別のエラーメッセージではなく、単一のメッセージにしたい場合には、「$error$」を消して下さい。

 
■ 自動返信メールテンプレートの編集方法

自動返信メールの文章は、「reply.txt」を編集することにより、自由にカスタマイズすることができます。同梱されているサンプルの「reply.txt」を例にとり説明します。

$name$

お問い合わせありがとうございました。

入力された値を、自動返信メールに入れることができます。例えば、フォームの「おなまえ」の欄に「太郎」といれた場合、自動返信メールは、以下のようになります。

太郎様

お問い合わせありがとうございました。

おなまえだけではく、入力された値はどれでも返信メール内に埋め込むことが可能です。書き方は、上で説明した確認画面の編集方法と同様で、「$name属性名$」と書くと、その部分が置き換えられます。ただし、添付ファイルは返信しませんので、ご注意ください。

シリアル番号を返信メールに入れたい場合には、「$SIRIAL$」と必要な個所に記載すれば、それがシリアル番号に置き換わり、メールが返信されます。その他予約語が定義されていますので、適宜ご活用下さい。

name属性名 説明
SIRIAL $SIRIAL$ の部分が、シリアル番号に置き換わります。CGI の設定でシリアル番号を使うように設定されている場合にのみ有効です。
USERAGENT $USERAGENT$ の部分が、送信者のブラウザーから送信される環境変数「HTTP_USER_AGET」の文字列に置き換わります。送信者の OS やブラウザーの判別に役立ちます。
例: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98) 
REMOTE_ADDR $REMOTE_ADDR$ の部分が、送信者の IP アドレスに置き換わります。
例: 192.168.0.3
REMOTE_HOST $REMOTE_HOST$ の部分が、送信者のホスト名(逆引き可能な場合)に置き換わります。
例: aa.hoge.com
DATE $DATE$ の部分が、メールフォームから送信した日時に置き換わります。例: 2001年10月07日(日) 08:32:22
 
■ メールフォーマットをカスタマイズするには

メールフォームから送られたメールの文章、レイアウトは、「mail.txt」を編集することにより自由にカスタマイズすることができます。同梱されているサンプルの「mail.txt」を例にとり説明します。

まず、デフォルトでは、メールフォーマットは規定のフォーマットで送られるようになっておりますので、設定ファイル「mpconfig.cgi」をテキストエディターで開いていただき、以下の設定の値を「1」に変更してください。デフォルトでは、「0」になっています。

#--------------------------------------------------------------------
#■フォームメールフォーマットカスタマイズ
# フォームから送信される内容をカスタマイズする場合には「1」を指定し
# て下さい。カスタマイズの場合には、mail.txtを編集して下さい。
# 規定のフォーマットでよい場合には、「0」を指定して下さい。
#--------------------------------------------------------------------
my $FORMAT_CUSTOM_FLAG = 1;

次に、同梱の「mail.txt」をテキストエディタで編集します。

テンプレートファイルを使った場合のサンプル

【シリアル】
$SIRIAL$

【おなまえ】
$name$

【メールアドレス】
$mailaddress$

【感想】
$opinion$

【添付ファイル】
$attachment$


【送信者情報】 

・ブラウザー : $USERAGENT$
・送信元IPアドレス: $REMOTE_ADDR$
・送信元ホスト名 : $REMOTE_HOST$
・送信日時 : $DATE$

 不要なものは削除して頂いても結構です。また、カスタマイズしたメールフォーム用のHTMLに使った name属性名 を 「$name属性名$」のように指定すると、その部分が入力された値に置き換わって、メール送信されます。編集方法は、先ほどの「自動返信メールテンプレート」の編集方法とまったく同じです。ただし、以下の name 属性は予約語となっております。適宜ご利用ください。

name属性名 説明
SIRIAL $SIRIAL$ の部分が、シリアル番号に置き換わります。CGI の設定でシリアル番号を使うように設定されている場合にのみ有効です。
USERAGENT $USERAGENT$ の部分が、送信者のブラウザーから送信される環境変数「HTTP_USER_AGET」の文字列に置き換わります。送信者の OS やブラウザーの判別に役立ちます。
例: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98) 
REMOTE_ADDR $REMOTE_ADDR$ の部分が、送信者の IP アドレスに置き換わります。
例: 192.168.0.3
REMOTE_HOST $REMOTE_HOST$ の部分が、送信者のホスト名(逆引き可能な場合)に置き換わります。
例: aa.hoge.com
DATE $DATE$ の部分が、メールフォームから送信した日時に置き換わります。例: 2001年10月07日(日) 08:32:22
 
■ サブジェクトをカスタマイズするには

フォームから送られてくるメールのサブジェクト(題名)は、フォームHTMLの name 属性名が「subject」となっている項目の入力値となりますが、フォーム HTML に「subject」が無い場合には、設定ファイル「mpconfig.cgi」の「■デフォルトのメールサブジェクト」で設定したものが反映されます。

しかし、例えば「お名前」等フォームで入力された値をサブジェクトに動的に加えることが可能です。例えば、入力フォームで「お名前」欄に「山田 太郎」と入力された場合に、サブジェクトが「お問い合わせ(山田 太郎)」となります。設定は以下の通りです。

#--------------------------------------------------------------------
#■デフォルトのメールサブジェクト
# 送られてくるメールのタイトル(サブジェクト)の設定です。フォーム内
# に name属性「subject」が存在する場合には、そちらが優先されます。
# サブジェクト内に、フォームで入力された値を付加した場合には、例えば
# $SUBJECT = 'お問い合わせ($name$)';
# のようにすることで、「お問い合わせ(山田 太郎)」のようになります。
# つまり、$name属性$ と記述すればその部分がフォームで入力された値に
# 置き換わります。必ず、サブジェクトはシングルクォーテーションで囲っ
# てください。ダブルクォーテーションで囲うと正しく反映されませんので
# ご注意ください。
#--------------------------------------------------------------------
my $SUBJECT = 'お問い合わせ( $name$ )';

ここでは「お名前」を例に説明しましたが、入力されるすべてのフォームに適応できます。上記設定内に「$name属性$」を加えていただくことで該当の入力内容に置き換わります。

この設定は、入力フォームに name 属性「subject」が存在しない場合にのみ有効ですので、ご注意ください。サンプルでは、name 属性「subject」が存在しますので、この機能をご利用になる場合には、フォームテンプレートと確認画面用テンプレートから「サブジェクト」入力欄を削除して下さい。

 
■ 制限・注意事項
  • sendmailが利用できないサーバではご利用になれません。
  • 添付ファイルがある場合には、確認画面を表示することはできません。
  • mpmail.cgi は、Shift-JIS で作成されており、それが前提で動作します。他の文字コードに変換すると動作しなくなりますので、ご注意ください。
  • 各種テンプレート「confirm.html」「error.html」「reply.txt」「mail.txt」はすべて Shift-JIS で作成されていることを前提に動作します。他の文字コードで作成されますと、正しく動作しませんので、ご注意ください。
  • 添付ファイルがある場合、サーバ上に一時的にそのファイルを作成します。もし、プロバイダーの契約容量に空きが不足している場合、正しく動作しませんので、ご注意ください。
  • 各入力フォームに「,(カンマ)」が入力された場合、すべて全角カンマに変換されます。
  • テキストフィールドに改行が含まれている場合、ログには <br> に変換されて保存されます。
  • 外部サーバからの利用禁止設定機能は、ブラウザーが送ってくる参照元URL(HTTP_REFERER)を使っています。HTTP_REFERERを送信しないブラウザーからアクセスした場合、エラーとなってしまいますので、ご注意ください。(i-modeなど)
 
■ バージョンアップ方法
  • Ver 4.1 をご利用の方

mpmail.cgi のみを上書きして下さい。サーバに転送する前に、1 行目に記載されている Perl のパスを確認して下さい。また、サーバにアップロードする際には、ASCII モードで転送して下さい。

  • Ver 3.x 以前のバージョンをご利用の方

お手数ではございますが、再度、セットアップし直して下さい。

 
■ バージョンアップ履歴

【Ver 4.1 → Ver 4.2】 2004/06/03

  • サブジェクトに半角カナが含まれる場合、自動的に全角カナに変換するよう改良した。
  • Safari ブラウザーを使った場合の文字化けを判定し、エラー表示する機能を追加した。Safari は、一度フォームに項目を入力し、送信した後、前画面に戻り、再度、送信すると、全角文字がすべて ? に変換されてサーバに送ってしまう不具合がある。そのため、CGI 側では、 ? が 3 つ以上連続した項目が 2 項目以上存在した場合には、文字化けエラーと判断し、エラーを表示するようにした。

【Ver 4.0 → Ver 4.1】 2003/12/03

  • sendmailパスを自動的に認識する機能を追加した。
  • 自動返信メールでも 置換指示子 $USERAGENT$ $REMOTE_ADDR$ $REMOTE_HOST$ $DATE$ が有効になるようにした。
  • 自動返信メールが未到着の場合に、エラーメールを管理者が受信できるようにするために、sendmail の -f オプションを採用した。(以前は、メールヘッダーの Return-Path を使っていたが、実際にエラーメールを受信できないサーバがあった)
  • メール本文にドットだけの行が存在すると、それ以降、内容がカットされてしまうバグを修正。sendmail の -oi オプションを使うことで対処した。
  • 設定ファイルで、sendmail の -f および -oi オプションを無効にする機能を追加した。(これらのオプションが使えないサーバを救済するための措置)
  • -cwオプションでPerlの構文チェックを行うと、エラーがでる不具合を修正した。

.【Ver 3.3 → Ver 4.0】 2003/09/07

  • 宛先不明のエラーメールを受信するアドレス設定において、Errors-Toヘッダーから、Return-Pathに変更した。
  • 設定ファイル config.cgi の内容を分かりやすいように表現の変更や、設定順等を再整理した。
  • メールアドレスチェックを厳密に行うよう改善した。
  • 自動返信メールのサブジェクトでも、$name属性名$を入れたら、フォーム入力値に置き換わるように改善した。
  • メールサブジェクトにシリアル番号を挿入できるように改善した。
  • メタタグを使ってリダイレクトするオプションを新たに設けた。(Locationヘッダーが使えないサーバ救済機能)
  • 機能追加、バグ改修をしやすいように、全面的にソースコードを書き直した。
  • ワードラップ機能に加え、禁則処理を行えるように改良した。

【Ver 3.2 → Ver 3.3】 2003/02/09

  • 添付ファイル名の文字コード内に \x5C が含まれるとファイル名が文字化けるバグを修正

【Ver 3.1 → Ver 3.2】 2002/10/08

  • 「0」が入力された場合、必須と設定しても、何も入力されなかったと判断されてしまうバグを改修。
  • name属性表示名マッピング設定を追加した。これにより、mailaddress, subject 等のname属性は、エラーやメール送信の際に、指定の名前に置き換えて表示できるようになった。
  • Errors-Toヘッダーを追加できるようにした。
  • ログファイル書き込みに失敗すると、サンキューページへリダイレクトせず、Internal Server Error になってしまうバグを改修

【Ver 3.0 → Ver 3.1】 2002/03/10

  • 自動返信メールテンプレートに $SIRIAL$ を記述されていても、シリアル番号に置き換わらなかったバグを改修。
  • 添付ファイルのテンポラリーファイルを削除しない設定にした場合、同名のファイル名がアップロードされた場合、新しいファイルにならないバグを改修。

【Ver 2.3 → Ver 3.0】 2002/01/20

  • テンプレートの文字変換フォーマットを、 <!--name属性--> から $name属性$ に変更。ただし、旧フォーマットでも変換されるようにした。
  • 一部の海外サーバで文字化けする現象が起こらないよう改善。
  • Mac 版 Ouolook Express で MP Form Mail CGI から送信された添付メールを受けると Ouolook Express 側でデコードできなかったが、それをできるように改善。
  • メールアドレスチェックで、全角ピリオドが入っても抜けてしまうバグを改修。
  • メールアドレスチェックで、半角カンマが入っても抜けてしまうバグを修正
  • ログ出力において、日付の次に区切り文字が多く入るバグを修正
  • メールアドレスの入力項目が必須であったが、なくても動作するようにした。
  • 確認画面において、未入力・未選択の場合、&nbsp; を挿入するようにした。

【Ver 2.1 → Ver 2.3】 2001/11/03

  • フォームから送信されたメールのサブジェクト内に、フォームに入力された値を挿入できるようにした。
  • 自動返信メールの差出人設定を追加した。

【Ver 2.1 → Ver 2.2】 2001/10/08

  • 簡易折返・英文ワードラップ機能を追加。
  • メールフォーマットカスタマイズ機能追加。
  • メールのサブジェクトに「0」が含まれると、それ以降無視されるバグを改修
  • 自URLは、自動認識だったが、一部のサーバにおいて正しく認識されなかったため、マニュアル設定を設けた。

【Ver 2.0 → Ver 2.1】 2001/08/21

  • ログの区切り文字を「タブ」「スペース」と指定しているにも関わらず、一部の区切りにカンマが入ってしまうバグを修正
  • メールアドレスのアカウントが一文字の場合に、エラーとなってしまうバグを修正

【Ver 1.3 → Ver 2.0】 2001/07/29

  • 利用禁止ホスト指定機能の追加(IPアドレス、ドメインで指定)。
  • 添付ファイルの拡張子の限定機能追加。
  • 外部サーバからの利用禁止機能追加。

【Ver 1.2 → Ver 1.3】 2001/07/07

  • ファイルを添付して送信した場合に、最後のデータが欠落することがあるというバグを改修。

【Ver 1.1 → Ver 1.2】 2001/06/09

  • ログに送信日時を記録するようにした。
  • 各メール送信ごとにシリアル番号を付与するようにした。シリアル番号は、指定先のメール、返信メール、ログに記載できるようにした。
  • 指定の上限ファイルサイズを超えて添付ファイルを送信しようとした場合、添付ファイル作業ディレクトリ「attachment」にそのファイルが残ってしまうバグを改修。
  • 設定ファイル「mpconfig.pl」のファイル名を「mpconfig.cgi」に変更。これは一部のサーバにおいて、拡張子が「.pl」のファイルを実行ファイルと認識せず、テキストファイルのように扱われ、直接ブラウザーでアクセスすると、中身が見られてしまうための対処。

【Ver 1.0 → Ver 1.1】 2001/04/21

  • 入力項目に、HTMLタグが入力されると、送信メールやログではその入力項目の一部が欠落するバグを改修
  • 確認画面表示モードがOFFの場合、「<」, 「>」が「&lt;」「&gt;」のままでメール送信とロギングをしてしまうバグを改修
  • 確認画面表示モードがONの場合、メール送信しようとすると「サーバが見つからない」という現象が、一部の環境で発生するバグを改修

futomi's CGI Cafe