基礎メール3rd v.1.06 お読みください

目次
A:はじめにお読みください
B:ファイル構成とパーミッション
C:設置手順
D:更新履歴
E:補足:メールフォームHTMLの作り方について






【A:はじめにお読みください】 目次
利用規定
当アプリケーションは、フリーウェア利用規定へ同意頂いた上でご利用ください。
※当アプリケーションは全てのサーバへ設置できるとは限りません。
サーバとの相性によっては、一部または全ての機能が利用できない場合があります。あらかじめご了承ください。






【B:ファイル構成とパーミッション】 目次

kisomail3nd/  …………………… (755) アプリケーションディレクトリ
  │
  ├ input.html ………………… (644) 入力フォーム用HTML
  ├ end.html   ………………… (644) メール送信完了画面のHTML
  ├ sendmail.cgi ……………… (755) メール送信実行ファイル
  │
  ├ data/  ……………………… (777) データ記録ディレクトリ
  │  └ lastmail.cgi ………… (666) 2重送信防止用データ
  │
  ├ lock/  ……………………… (777) ファイルロックディレクトリ
  │  └ flock.cgi  …………… (666) ロックファイル
  │
  └ lib/   ……………………… (755) ライブラリディレクトリ
      ├ ap_appdmail.pl ……… (644) 添付メール作成ライブラリ
      ├ ap_mimeenc.pl  ……… (644) 日本語メールヘッダ符号化ライブラリ
      └ jcode.pl ……………… (644) 日本語変換ライブラリ
「/」で終わるものはディレクトリです。
()内の数字は、比較的多くのサーバで通用するパーミッション設定値です。
※パーミッション設定値はサーバごとに若干異なります。





【C:設置手順】 目次
以下の手順を参考に設置してください。
設置には、FTPクライアントが必要です。
(FTPクライアントの操作方法は、配布元ウェブサイトに掲載されています。)

■ステップ1)Perlのパスを確認
印のファイル
sendmail.cgi」 をテキストエディタで開き、サーバで用意されているPerlのパスを確認します。

初期の状態では、
#!/usr/local/bin/perl
と設定されていますが、Perlのパスが異なる場合には変更してください。

(参考までに、「#!/usr/bin/perl」も良く使われるPerlのパスです。「#!/usr/local/bin/perl」で動作しなかったら変更してみてください。不明な場合にはサーバ管理者へ問い合わせてください。)



■ステップ2)初期設定の編集
印のファイル「sendmail.cgi」をテキストエディタで開き、「基本設定」と書いてある次の項目を設定変更します。

・Sendmailのパス
・メールの件名
・宛先メールアドレス
・ファイルロック方法
は、設定必須です。次を参考に設定してください。

$sendmail(Sendmailのパス)
サーバで用意されているメール送信プログラムSendmailのパスを設定してください。
例: /usr/sbin/sendmail から /usr/lib/sendmail へ変更する場合には、
$sendmail = '/usr/sbin/sendmail'; を
$sendmail = '/usr/lib/sendmail'; と書き換えます。
(参考までに、「/usr/sbin/sendmail」や、「/usr/lib/sendmail」がよく使われるSendmailのパスですが、不明な場合にはサーバ管理者へ問い合わせてください。)

$mail_subject(メールの件名)
例: メールフォームより から 問合せフォーム へ変更する場合には、
$mail_subject = 'メールフォームより'; を
$mail_subject = '問合せフォーム'; と書き換えてください。

$mail_to_addr(メール受信先のメールアドレス)
例: tobita@127.0.0.1 から hogehoge@127.0.0.1 へ変更する場合には、
$mail_to_addr = 'tobita@127.0.0.1'; を
$mail_to_addr = 'hogehoge@127.0.0.1'; と書き換えてください。


$lock_method(ファイルロック方法)
通常変更不要ですが、flock関数利用が禁止されているサーバでのみ、次のように書き換えます。
$define->{'LOCK_METHOD'} = 1; を
$define->{'LOCK_METHOD'} = 2; と書き換えます。
(flock関数利用かどうかは、サーバ管理者へ問い合わせてください。)

■ステップ3)サーバへ転送
FTPクライアント使い、印の「kisomail3rd/」ディレクトリごとサーバへ転送してください。

このとき、「自動判別」「文字コード無変換」で転送してください。

■ステップ4)パーミッション変更
続いて、FTPクライアントを使い、今転送したファイルやディレクトリのパーミッション変更します。次のどちらかの方法でパーミッション変更してください。

※パーミッション設定値はサーバごとに若干異なります。

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
→方法A:不明な場合、よく分からない場合は・・・
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
ファイル構成図を参考に、
印と、印のファイルやディレクトリのパーミッションを変更してください。
通常、星印のないファイルやディレクトリは、パーミッション変更不要です。

(★印のファイルのパーミッションを「755」に変更できないサーバの方は、
方法Bを試してださい。)


〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
→方法B:suExec等で、オーナー権限でCGI利用できるサーバの場合は・・・
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

こちらのタイプのサーバでは、
印のファイルのみ、パーミッションを「 700 」へ変更してください。
方法Bでは、それ以外のファイルやディレクトリは、パーミッション変更不要です。

■ステップ5)ウェブブラウザで動作確認
今設置したアドレスへウェブブラウザでアクセスし、動作確認します。

以上で設置完了です。
設置作業お疲れ様でした。

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
→正しくに動作しない場合には?
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

以下の点をもう一度確認してください。
どこか見落としてしまっていることが原因で動作しない場合も多いようです。

印のファイルに構文エラーは無いか
・Perlのパスは、正しいか
・Sendmailのパスは、正しいか
・ファイル転送方法は、正しかったか
・パーミッション変更は正しかったか






【D:更新履歴】 目次
2006/05 v.1.06
エラーメッセージ表示画面のHTTPヘッダ「Content-Type」が「「Contnt-Type」となっていた誤字を修正。
(v.1.02 以降からバージョンアップして利用する場合には、「sendmail.cgi」を入れ替えて利用できます。)
2006/01 v.1.05
入力フォームがEUC_JPなどの日本語コードだった場合に、メール本文の先頭が文字化けする問題を修正。
2006/01 v.1.04
メール本文へ、差出人名とメールアドレスを表示されるよう改良。
2005/09 v.1.03
メールソフトによって、テキスト型のファイルを添付ファイルとして認識しない問題を修正。
2005/08 v.1.02
コピーメール受信用の機能を追加。
2005/07 v.1.01
メール文書の作成方法を、入力された順番に表示されるよう修正。
2005/07 v.1.00
配布開始。






【E:補足:メールフォームHTMLの作り方について】 目次
input.htmlを改造することで、デザインのみ変更できます。

入力項目の「name」「mail」「mail2」は、必須です。
基本的なHTMLのformタグは、次のようになります。


追加入力項目は、「<form>〜</form>」タグ内へHTMLを書くことで追加できます。詳しくは以下を参考にしてください。

ファイル入力項目を追加する例


ラジオボタン入力項目を追加する例


ポップアップ選択項目を追加する例


チェックボックス選択項目を追加する例
(複数選択すると、改行コードで連結されます。)


一行テキスト入力項目を追加する例


複数行テキスト入力項目を追加する例




製作・著作: AppsPage / 飛田 益夫丸