Yahoo!ジオシティーズでのメールフォーム設定に苦労している人は
たくさん居るのか、居ないのか・・・。
少なくとも、私はとっっっても大変でしたよ!
ぜ~ぜ~。
なんとか動いたので備忘録がてら書きしたためます。
やりたかった基本条件
- CGIのメールフォームを使う
- フォーム画面(html)をオリジナルに編集したい
- 添付ファイルを受け取りたい
- 送信ログ(立場によっては受信ログ)が見れるのが理想
使用したCGI
お優しい方が作ってくれたCGIプログラムを使わせていただく。
フリー(無料)で個人・法人に関わらず使わせてくれるなんて
本当にありがたいのであります。
CGI×添付ファイル×過去ログの組合わせのプログラムがある事は知っているものの、
見つけるのも一苦労・・・。
今回は、KENT WEBさんのclipmail(クリップメール)を使用。
■KENT WEB
■KENT WEB clipmail
http://www.kent-web.com/data/clipmail.html
Yahoo!ジオシティーズでの基本準備
Yahoo!ジオシティーズでSemdmail使いたい際の最大特長は、
『独自ドメインのメールアドレス』の必要性!!
(つまりCGI使えるのは、有料版のYahoo!ジオプラス)
- ドメイン取得
- CGI使用許可を取得
- ドメインコントロールパネルで独自ドメインのメールアドレスを取得
- Yahoo!メールで独自ドメインのメールアドレスを設定
Yahoo!ジオシティーズ CGI使用環境の設定
http://geocities.yahoo.co.jp/v/originalcgi/
Yahoo!ジオシティーズ Sendmail機能
http://geocities.yahoo.co.jp/v/originalcgi/sendmail/
さて色々作業メモ
まずはダウンロードすると、以下のファイルが展開される。
clipmail.cgi ------------- メール送信プログラム ←書き換えする!
init.cgi ----------------- 設定ファイル ←書き換えする!
admin.cgi ---------------- 管理用プログラム
check.cgi ---------------- 設定チェック用プログラム
clipmail.html ------------ 送信フォーム(サンプル) ←これは自分のサイト内アドレスになる。
tmpl/*.txt --------------- テンプレートファイル
tmpl/*.html -------------- テンプレートファイル ←確認ページやエラーページのテンプレ。
lib/CGI/Minimal.pm ------- データ受理モジュール [配布元]
lib/MIME/Base64.pm ------- MIME形式変換モジュール [配布元] ←結局は削除!
lib/Jcode.pm ------------- コード変換モジュール [入手元]
data/log.cgi ------------- 記録ファイル
さぁ、Yahoo!ジオプラスに沿って、基本的な修正を行っていこう。
■init.cgi
└$cf{password} = '0123'; ←好きなパスワード
└$cf{mailto} = 'xxx@xxx.xx'; ←受信したいメールアドレス ←独自ドメインのアドレスを設定!
└$cf{sendmail} = '/usr/lib/sendmail'; ←「user/sbin/sendmail」どちらでもOK
■clipmail.cgi
466行目 $body .= "From: $cf{mailto}\n"; に書き換え。
このFROM欄が、ドメインを取得しているYahoo!IDで認識された独自ドメインアドレスじゃないとダメ。
なので、『init.cgi』で設定したmailto アドレスから受信するって事にする。
■clipmail.html
これは自分サイト内のファイル名に変更可能。
clipmail.cgiへのパスは、
<form action="http://cgi.×××.××/clipmail.cgi" method="post" enctype="multipart/form-data">
CGIファイルもアップロード先は同じなのに、
パス的には違うので注意だ。
と、ここでUP!
通常であれば一番やっかいである『パーミション』に関しては
ジオプラスは自動で適切に設定される。
・・・すると、なんだか知らないMIME内でのエラーを言われる。
Software error:
MIME::Base64 object version 3.07 does not match bootstrap parameter 3.13 at /usr/local/lib/perl5/5.8.8/i686-linux/DynaLoader.pm line 253, line 855.
Compilation failed in require at /virtual/****/public_html/www.******.net/******/clipmail.cgi line 15, line 855.
BEGIN failed--compilation aborted at /virtual/****/public_html/www.******.net/******/clipmail.cgi line 15, line 855.
ふん!と
静かに 「lib」フォルダ内の「MIME」フォルダを「Base64.pm」ごと削除。
・・・動いた。
なんとか動きました~!やった~!
と、言う事で、以下が苦労して作った問い合わせページ↓
MLS ホームページ 問い合わせ
← 前の記事へ