公開日:2011年2月22日

yahooジオシティーズにメールフォームを設置する方法

yahooジオシティーズに、問い合わせフォームを設置して欲しいという案件。
初めて使うサーバーだったのですが、噂以上にクセモノだった。
とりあえず、大まかな流れと、つまずいた点だけ記載しておきます。

今回使用したのは、『メールフォームCGI
利用規約にほとんど制限も無く、商用可能なフリーCGIです。

ダウンロードしたファイルを展開して、
mailform/send.cgi をテキストエディタで開く。

デバッグモードオフ : $conf{‘debug’} = 0;
完了ページ : $conf{‘thanks’} = ‘http://www.xxx/thanks.html’; (自分で作成)
送信元メールアドレス : $conf{‘mailto’} = ‘info@xxx.com’;

上記を変更したら、ftpでサーバーにアップロード。
※パーミッションは、ジオシティーズの場合、自動的に適した値に変更される。

example.html にアクセスして、必要項目を入力したら、送信。
とまぁ、普通のサーバーなら、これで動くんだけど、
ここから、色々と苦労させられましたよ・・・

「このページは準備中です」と表示される場合

このページは準備中です

まずは、CGI使用の許可を行う必要があります。
CGI使用環境の設定にアクセスして、ページ下の方にある[CGIの使用を開始]をクリックします。
設定済みの場合は、「CGIの有効設定は、完了しています。」と表示されます。

次に、[ドメインのコントロールパネル] を開きます。

ドメインコントロールパネル

設定を押す。

サブドメインの設定

[サブドメイン設定] - [ジオシティーズCGI]- [変更]
サブドメインは関係ないじゃんと思うかもしれませんが、ジオシティーズの場合、
CGIを動かすには、http://www.xxx.com/mailform/check.cgi とアドレスを入力しても動かず、
準備中と表示されてしまいます。

正常に動かすには、http://cgi.xxx.com/mailform/check.cgi とアクセスするように
初期設定ではなっています。

オプション設定

「cgi」と入力して、確認を押して完了。
おそらく、cgiじゃなくてもいいと思います。

http://cgi.xxx.com/mailform/check.cgi にアクセスしてみてください。
うまく表示されましたでしょうか?
パーミッションが違うとか、sendmailのパスが違うとかの表記は気にしないで下さい。

今度は、http://cgi.xxx.com/example.html にアクセスして、必要項目を入力したら、送信。
今度はうまく送信されたはずです。

さて、メールが届きましたか?
届かないんですよ ・・・これがまた。

 

 

メールが届かない場合

下の記事が参考になると思います。
yahooメールをわざわざ登録して、許可してあげないといけないみたいです。
sendmailで送信するアドレスとyahooメールがリンクされてるんですね。

Yahoo!ジオプラスで送信フォームが動かない

これで、ようやく動かすことが出来ました。

いよいよ、サーバに問い合わせのページをアップ!
すると、またまた問題が発生。

 

 

ページのフッター(下部)にスペース?余白?が挿入される

アップした問い合わせページを見てみると、デザインが崩れてます。
なんと、ページ下部に勝手にアクセス解析のコードが挿入されてるではありませんか?
しかも、こちら側で削除することは出来ないそうな。
おかげで、ポツンと変な空白が・・・
どうにかして消す方法はないかと思い調べてみると、

<body>
<div>
ページ内容
</div>
</body>
として、
<style><!–
img {display:none;}
div.visible img {display:inline;}
–></style>

と、</body>と</html>の間に、上記のコードを記載すると消せる
と書いてあったのでやってみたら、他の画像も消えたー。
結局、htmlに背景色を付けてごまかしましたが、なんでしょう。
</html>外にコードを付け足すなんて考えられません。

 

とりえあずはうまくいきましたが、設定が反映されるまでに3時間かかるとかだったり、
散々な一日となってしまいました。

この記事のURLをコピー

関連情報

メールアドレスは公開されませんのでご安心ください。また、* が付いている欄は必須項目となります。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。