Web-UP CGIを駆使してWebサイトの運営効果を思いっきり上げる!

ホーム > CGI配布コーナー > Ezy-Mail お問い合わせ


Ezy-Mail


・Ezy-Mail とは?
・Ezy-Mail の特徴
・Ezy-Mail 設置法



Ezy-Mail とは?


Ezy-Mail は、主に個人ホームページでの利用を想定しています。
フォームから送信されたデータをサーバーに蓄積する必要がない場合や、受注番号などの
通し番号を発行する必要がない場合などに適しています。

メールフォームCGI初心者の方でも簡単に設置・運用出来るよう、設定項目を少なめにしました。
フォームページの文字コードは、Shift_JIS・EUC-JP・UTF-8の3種類から選べますので、
MovableTypeをUTF-8で構築している場合にも、文字化けを起こすことなく利用出来ます。

(サンプル画面:新しいウィンドウが開きます)

Ezy-Mail はCGIメールフォームスクリプトです。
(Perl:バージョン5.004以上、Sendmail必須。Perl4では動作しません。)
Ezy-Mail スクリプト利用規約に定められている範囲内でフリーソフトとしてご利用いただけます。


[ 更新履歴 ]
・2005/03/13v1.00公開
・2005/04/19v1.01全角マイナスなどが文字化けする不具合を修正




Ezy-Mail の特徴


  • 送信者に自動返信をします。
  • 管理者と送信者それぞれにメール送信するかどうかを別々に設定できます。
  • フォームページの示文字コードをShift_JIS・EUC-JP・UTF-8の3種類から選択できます。
  • データ入力後に確認画面を表示するかしないかを設定できます。
  • メールフォームのname値には英語・日本語の両方が使えます(例:<input type=text name="趣味">など)。
  • 入力必須項目をいくつでも設定できます。
  • メールアドレスを正規表現を使って厳密に書式チェックします。
  • 送信者名に任意の敬称(例:様など)を付けることができます。これにより、管理者が送信者に返信するときに宛先が自動的に「○○様」となります。
  • 送信者と管理者それぞれに別々の件名・文面のメールを送信することができます。
  • メールの文面内には通常の送信内容の他に、メールフォ-ムから入力されたデータを自由に差し込むことができるので、ありきたりの文面ではなく日常会話に近い自然な文章を作成して自動返信することができます もちろん、送信者宛・管理者宛に別々に作成することができます。
  • 半角カタカナが入力された場合でも自動的に全角カタカナに変換するので文字化けの心配がありません。
  • メールの件名をMIMEエンコードして文字化けを防ぎます。
  • メールフォーム画面・送信後画面・エラー画面・プレビュー画面のHTMLを自由に編集できます。外部スタイルシートの取り込みも可能です。
  • メール送信後に任意のページへ任意の秒数で自動的にジャンプさせる・させないを設定できます。
  • 指定したホストからのアクセスを拒否することができます。
  • 送信者の利用ホスト・利用ブラウザ・送信時刻を、管理者と送信者それぞれのメール文面に差し込みする・しないを設定できます。

▲このページの上に戻る▲



Ezy-Mail をゲット!


Ezy-Mail は、必ずスクリプト利用規約に同意いただいた上で、設置・ご利用下さい。
Ezy-Mail をダウンロードされた時点で無条件にスクリプト利用規約に同意したものとさせていただきますので、ご了承下さい。

スクリプト利用規約に同意していだけますか?
はい、スクリプト利用規約に同意します


▲このページの上に戻る▲



Ezy-Mail 設置法


CGIの設置が初めてという方はCGI初心者のためのCGI設置講座もご活用下さい。
このページの設置法を読んでみて、どうしてもご自分では設置できないという方は有償サービスのCGI設置代行をご検討下さい。

Ezy-Mail をダウンロードしたら、解凍ソフトで解凍します。
ファイルを解凍すると「Ezy-Mail」フォルダ内に以下のファイルが展開されます。

ezy-mail.cgi
conf.cgi
libフォルダ

libフォルダの中には動作に必要なモジュールファイル(jcode.pm)が同梱されています。
jcode.pmはDan Kogai氏により作成され、再配布が許可されています。Dan Kogai氏に深く感謝申し上げます。

まずエディタezy-mail.cgi を開き、1行目のPerlのパスをプロバイダ指定のものに変更します。
ezy-mail.cgiconf.cgi は文字コードをEUCで記述していますのでWindows標準のメモ帳などでは編集できません)
ezy-mail.cgi の変更点はこれだけで終りです。主な設定は設定用ファイルのconf.cgi で行います。
次にエディタでconf.cgi を開き、下記の設定を行います。

#------------#
   基本設定
#------------#


# 事業者登録ID(登録事業者様のみ)
$reg_id = '';


# スクリプトの名称(とくに変更する必要はありません)
$sc_name = 'ezy-mail.cgi';


# sendmail部分のパスを記入
$sendmail = '/usr/sbin/sendmail';


# 設置サイトの名称(送信者に送られるメールの送信者名になります)
$adm_name = 'Web-UP';


# 送信を拒否するホスト名('ホスト名','ホスト名'…の形で)
# 記入例 @deny_host = ('waruihito.ne.jp','ikenaihito.ne.jp'); など
@deny_host = ('');


# 管理者にメール送信をするなら1、しないなら0
$snd_adm = 1;


# 送信者にメール送信をするなら1、しないなら0
$snd_cst = 1;


# 管理者のメールアドレスを記入します
$adm_mail = 'info@hoge.fuga.com';


# 送信前にプレビュー画面を表示するなら1、しないなら0
$prv = 1;


# 時差調整 海外サーバー利用時など時刻がずれるようなら調整して下さい 時間単位です
$time_dif = -9;



#--------------------------#
    送信データに関する設定
#--------------------------#

# メール送信時に送信項目の行頭に付ける記号(CSVファイルの分割キーと同じものには出来ません)
# メール文面上で■項目名 などのようになります
$head ='■';


# メール送信時にname値とvalue値の間に入れる記号(CSVファイルの分割キーと同じものには出来ません)
# メール文面上で■項目名: などのようになります
$space =':';


# 送信者名として認識する項目('name値'の形で)
$namae = 'お名前';


# 送信者名の後ろに付ける敬称
# メール文面上で■お名前: ○○ さんなどのようになります
$keisyou = ' さん';


# 送信者のメールアドレスとして認識する項目('name値'の形で:1項目のみ)
$mail_to = 'メール';


# 入力必須とする項目('name値','name値'…の形で)
@hisssu = ('送信内容','メール','メール(再入力)');


# メールアドレスとして書式チェックする項目('name値','name値'…の形で)
@mail_chk = ('メール','メール(再入力)');


# メール送信時に自動的に改行する項目とその改行文字数
#(文字数は半角換算、70程度を推奨'name値'=>'半角文字数'の形で 複数ある場合は ''=>'',''=>''…のように区切る)
%auto_wrap = ('コメント'=>'70');



#------------------------#
     件名に関する設定
#------------------------#


# 送信者宛てメール件名
# ##name値##とするとフォームから入力された内容を個別に差し込みます
$sub_cst = '##お名前## さん お問い合わせを頂きましてありがとうございます';


# 管理者宛てメール件名
# ##name値##とするとフォームから入力された内容を個別に差し込みます
$sub_adm = '##お名前## さんからお問い合わせがありました';



#----------------------------#
#メールの文面に関する設定#
#----------------------------#

# 送信者に送信するメールの文面
# <<'EOF';の次の行からEOFの前の行の間で自由に編集して下さい
# ##name値##とするとフォームから入力された内容を個別に差し込みます
# ##send_data##の部分にはフォームから入力された内容が差し込まれます
# ###送信日時###,###ホスト###,###ブラウザ###,###リファラ###とすると、該当する情報が差し込まれます

$mes_cst = <<'EOF';
##お名前## さん

この度はお問い合わせを頂きまして誠にありがとうございます。
ご送信いただいた内容は下記の通りですのでご確認下さい。

###送信日時###
##send_data##


おり返しご連絡いたしますのでしばらくお待ち下さい。

EOF




# 管理者に送信するメールの文面
# <<'EOF';の次の行からEOFの前の行の間で自由に編集して下さい
# ##name値##とするとフォームから入力された内容を個別に差し込みます
# ##send_data##の部分にはフォームから入力された内容が差し込まれます
# ###送信日時###,###ホスト###,###ブラウザ###,###リファラ###とすると、該当する情報が差し込まれます

$mes_adm = <<'EOF';
##お名前## さんからお問い合わせがありました。

##send_data##

###送信日時###
###ホスト###
###ブラウザ###
###リファラ###

EOF



#------------------------#
    HTMLに関する設定
#------------------------#


# フォームHTMLの文字コード
# EUC-JP ⇒ 0
# UTF-8 ⇒ 1(MovableTipeなど)
# Shift_JIS ⇒ 2(一般のホームページや携帯サイトなど)
$html_code = 1;


# 送信後画面・エラー画面・プレビュー画面のBODYタグ
$body = '<BODY bgcolor="#FFFFFF" text="#000000" link="#000FF" vlink="#800080">';


# 外部スタイルシートを取り込む場合、パスとファイル名(hi-mail.cgiからの相対パスかhttp://からの絶対パス)
$style = '';


# 送信後画面のタイトル
$sendout_title = '送信完了しました';


# 送信後に表示するHTML
# <<EOF;の次の行からEOFの前の行の間で自由に編集して下さい
# <a href="$baseurl">トップページに戻る</a> はトップページに戻るためのリンクになります
$sendout_body = <<EOF;
<div align=center>
<br><br>
(^o^)丿  <font size=+1><b>ありがとうございました</b></font>  (^o^)丿
<br><br>
<HR width=50%>
<a href="$baseurl">トップページに戻る</a>
<HR width=50%>
<br><br>
</div>

EOF


# 送信後HTML表示後、自動的にジャンプさせるならその秒数(0にするとジャンプしません)
$jump_sec = 5;


# 送信後HTML表示後、自動的にジャンプさせるならそのURL(トップページなど)
$jump_url = 'http://web-up.cside.biz/';


# 送信後HTML表示後、自動的にジャンプさせるならそのメッセージ
# $jump_sec の部分には上で指定した秒数が表示されます
$jmes = "<div align=center><font color=blue>$jump_sec秒後にトップページへジャンプします</font></div><br>";


# エラー画面のタイトル
$error_title = 'エラー';


# エラー時に表示するHTML
# <<EOF;の次の行からEOFの前の行の間で自由に編集して下さい
# ##error## 部分にはエラー内容が差し込まれます
# <a href="$baseurl">トップページに戻る</a> はトップページに戻るためのリンクになります
$error_body = <<EOF;
<div align=center>
<br><br>
<font color=#cc0000><b>エラー</b></font>
<br><br>
<HR width=50%>
<font color=red>
##error##
</font>
<HR width=50%>
<br>
うまく送信できない場合は<a href="mailto:$adm_mail">$adm_mail</a>よりご連絡下さい
<br><br><br>
<A href="JavaScript:history.back()">前のページに戻る</A>
<br><br>
<a href="$baseurl">トップページに戻る</a>
<br><br>
</div>

EOF


# プレビュー画面のタイトル
$pre_title = '送信内容確認';


# プレビュー時に表示するHTML
# <<EOF;の次の行からEOFの前の行の間で自由に編集して下さい
# ##send_data##の部分にはフォームから入力された内容が差し込まれます
# プレビュー時にはフォームからの個別項目の差し込みはできません
# <form action ="$sc_name" method="POST"> と <input type="hidden" name="pre_view" value="1"> は位置変更しないで下さい
$pre_body = <<EOF;
<div align=center>
<br><br>
<form action ="$sc_name" method="POST">
<input type="hidden" name="pre_view" value="1">
<table bgcolor="#DDDDCC" cellpadding="1">
<tr><td align="center" colspan="2">
送信してもよろしいですか?
</td></tr>
##send_data##
<tr><td align="center" colspan="2">
<input type="submit" value="送信">&nbsp;&nbsp;
<input type="button" value="戻る" onClick="history.back();">
</td></tr></table>
</form>
</div>

EOF


# プレビュー画面のテーブル左側セル色
$L_col = '#FFFFEE';


# プレビュー画面のテーブル左側セルの左右揃え(left,center,right から選択)
$L_align = 'center';


# プレビュー画面のテーブル左側セルの上下揃え(top,middle,bottom から選択)
$L_valign = 'middle';


# プレビュー画面のテーブル右側セル色
$R_col = '#FFFFFF';


# プレビュー画面のテーブル右側セルの左右揃え(left,center,right から選択)
$R_align = 'left';


# プレビュー画面のテーブル右側セルの上下揃え(top,middle,bottom から選択)
$R_valign = 'middle';



# 設定完了



各設定が完了したら全ファイルを Ezy-Mail ディレクトリごと、FTPソフトでアスキーモードでアップロードします。
その後、下の通りパーミッションを設定します。
FTPソフトは定番のSotaさん作FFFTP(新しいウィンドウが開きます)が使いやすくてオススメです。

<ディレクトリ構成例>
(かっこ内はパーミッション値)

/public_html/-─┼----index.html
                │
                │
                ┼--/cgi-bin[755]/--/ezy-mail[755]/---ezy-mail.cgi[755]
                                                          conf.cgi[644]

                                                              /lib[755]/---各ディレクトリ[755]
                                                                               各ファイル[755]

最初は上記のパーミッションに設定して、徐々に各ファイルを

755⇒705
644⇒604


などのようにきつくしていくといいと思います。
あとは、任意に設置したメールフォームに

<form action="設置パス/ezy-mail.cgi">

と記述すればOKです。

スクリプト動作の都合上、フォームのname値に[pre_view]だけは使えませんが、
あとはどんな名前のものを使っていただいてもかまいません。


▲このページの上に戻る▲



「Ezy-Mail」の推奨動作環境
- サーバOS
サーバOSはUNIXを前提としています。
- サーバWEBソフト (HTTPD)
HTTPDはApacheを前提としています。
- サーバメールソフト
メールソフトはSendmailを前提としています。
- サーバPerlソフト
Perlについては、Perl5を前提としています。
(CGIスクリプト開発環境)
当CGIスクリプトは以下の環境で開発しています。
OS : Windows2000
Perl : ActivePerl v5.6.1
HTTPD : Apache HTTP Server 1.3.24




▲このページの上に戻る▲

ホーム > CGI配布コーナー > Ezy-Mailお問い合わせ
[an error occurred while processing this directive]