フォームメール
牛飼いウェブの入力フォームからメールを送る仕組みは、CGI(Common GateWay Interface:プロバイダのサーバーで実行するプログラムのようなもの) で実現しています。

CGIを使うにはまず自分のプロバイダが CGIの使用を許可していなければなりません。セキュリティ上の理由からこれを認めていないプロバイダもかなりあります。プロバイダのサポート担当にメールで確認してみてください。

CGI が使えるかどうかをプロバイダに確認するときに、ついでに

・perlはどこにありますか?パスを教えてください
・sendmailはどこにありますか?パスを教えてください

を聞いておくと手間が省けます。


メールフォームCGIを入手する

CGI が使えることが確認できたら、さっそくフリーの CGI を入手しましょう。

牛飼いウェブのメールは
「ネットサーフレスキュー・WEB裏業」さんの
『フォームメール 』を一部変更して利用しています。


この CGI は「sendmail」というブロバイダ側のプログラムを利用します。CGI 中で sendmail の場所を指定する個所がありますので、「sendmail」がどこにあるかはプロバイダの管理者に聞いてください。具体的な設置方法は上記のページに詳しく書いてあります

その説明の中で、

「.htaccess」でCGI「.cgi」が使えるようになっているかを確認します。

とあります。もしそうなっていなかったら「.htaccess」という名前のテキストファイルをつくり、ここに

Options FollowSymLinks ExecCGI Includes
AddType text/x-server-parsed-html .htm
AddType text/x-server-parsed-html .htm
AddType text/x-server-parsed-html .shtml
AddType application/x-httpd-cgi .cgi
AddType audio/x-pn-realaudio .ra

のように記述し、パスの通ったディレクトリ(public_htmlなど)に ASCIIモードで転送すれば完了です。

また、設置説明のなかに
   ダウンロードファイル [パーミッション]
   ---------------------------------------------------------------
   webform.cgi          [chmod 755]
   sample.htm          [chmod 644]  (フォームの見本です)
   thanks.htm          [chmod 644]  (フォームの見本です)
   jcode.pl            [chmod 755]
    
こんな記述がありますね。[パーミッション]ってなんでしょう?
詳細は上記サイトに書いてありますが、要はファイルのアクセス権をこの表のように設定する、ということです。これは次以降のセクションで説明します。

とりあえずメールフォームのCGI(webform.cgi)の変更が必要な個所を変えてしまいます。

一番上の
#!/usr/local/bin/perl
これをプロバイダに確認した perl のパスに置き換えます。campusnet はそのまま使えます。
たいていは #!/usr/bin/perl  や #!/usr/local/bin/perl  です。

#---初期設定---------------------------------------------------------------#
#受け取り人のメールアドレス(あなたのメールアドレス)
$mailto = 'webmaster@ushikai.com';

#送信後に表示するページのURL
$location = 'http://www.ushikai.comcgi-bin/thanks.html';

#受け取るメールのタイトル
$subject = 'from Ushikai Mail';

#sendmailのパス(わからないときはプロバイダに聞く事)
$sendmail = '/usr/bin/sendmail';

#--------------------------------------------------------------------------#
基本的な修正はこれで完了です。
細かい改変は、まともに動くことが確認できてからやりましょう。
※上の例はうちのプロバイダの場合です。

FTPする


ウェブをお持ちの人はファイルを登録するFTPソフトは既に使っていると思いますが、ここではFTPソフトとして WS-FTP LE をもとに説明します。このソフトは個人利用なら無料で利用できます(Windows95/NT用)。



■セットアップ

インストール後起動されるセッションのプロパティの1ページ目に項目を入れれば使えます。

設定が必要なのは、

Profile Name 見出しのようなもので、任意につけられます
Host Name  プロバイダのホスト名。
User ID   ユーザーIDです
Password   パスワードです
Account   ユーザーIDと同じものを入れておきます


その他の項目は、ほとんどの場合設定不要です。


ファイルの転送・パーミッションの設定

WS-FTP でプロバイダにアクセスします。画面左の窓が自分のパソコンのディレクトリ(フォルダ)、右側がプロバイダのサーバーのディレクトリです。

CGI プログラムはASCII(アスキー)モードで、画像やHTMLファイルはBinary(バイナリ)モードでプロバイダのディレクトリに転送します(プロバイダによってはHTMLをASCIIで送る場合もあります)。転送モードの切り替えは画面下のラジオボタンで行います
 ASCII モードで送る例
 [→]ボタンで転送されます。
 
次に設置説明書にあるように、以下のファイルのパーミッションを設定してみましょう。

ファイル パーミッション
webform.cgi 755
sample.htm 644
thanks.htm 644
jcode.pl 755


転送が終わったらファイルをマウスで選択し、右クリックしてメニューを出します

その中の[chmod(UNIX)]を選びます。


アクセス権を変更するボックス[Remote file Permissions]が出ます。
ここでパーミッションの数値とチェックボックスの関係は、
 755(webform.cgi・jcode.pl)
 666
 644(sample.htm・thanks.htm)


となります。
もうおわかりかと思いますが、アクセス権と数字の関連は
Read(読める)=+4, Write(書き込める)=+2, Execute(実行できる)=+1 です。

成功すると

のようなログが左下に出ます。
(この例は links.htm を 666 に設定したものです)

右側の窓の 
を押して画面を更新しましょう。これで完了です。

FTPクライアントソフトによっては「FTPコマンド送信」というメニューがあります。そこから、

site chmod 755 (ファイル名を指定)

などとやってもパーミッションが変更できます。

※ディレクトリに対してもパーミッション指定が必要な場合もあります。


完成

ファイル転送とパーミッションの設定が終わったら sample.htm を呼び出して自分にメールしてみましょう。正しく設定されていれば自分あてにメールが届くはずです。正常に動くことが確認できたら sample.htm を好みの名前に作り替えるなどして各部を自分なりに調整してみましょう。
(その都度パーミッションの設定を忘れずに)



Top


copyright(C) 1999 Y.Kishino all rights reserved
Ushikai and Icons Room