« uni-ball signo RT1はやはりブラックがいいかも | トップページ | いつものクスリをもらいに行った »

2014年10月13日 (月)

YahooジオシティーズのCGIが変更になったのに気がつかなかった

ボクが管理しているボーイスカウトのホームページ。
YahooジオシティーズのCGIが変更になったのに気がつかなかった。

メールフォームが6月から機能していなかったのだ。
当然、入団問い合わせはこない。何人かは諦めたかもしれない。

先日の団委員会で入隊希望者から問い合わせがあって発覚したのだ。
調べてみると、確かにエラーになる。

20団のサイトはperlで書かれた無料のメールフォームを設置している。
中身をカスタマイズしているが、何度もテストしているのでよもやエラーになっているとは疑いもしなかったのだ。

ジオシティーズのCGIの環境が大幅に改定されたのだが、案内メールを見落としていたのだろう。
じゃあ、という軽い気持ちでCGIの設定を修正し始めた。

ところが、これがドツボの始まりだった。

重要なお知らせとある掲示を読んだ。
どうやらフォームから呼び出すCGIは今までのような相対アドレスでは機能しないらしい。

説明は実に素っ気ない。

理解するまでに何度もプログラムをテストした。
ようやく、絶対アドレスでPOSTすればCGIを呼ぶことがわかった。

長い間、perlから離れていたのでもたつく。
ここまでに3時間もかかってしまった。

説明に参考となる事例でも乗せておいてくれればよいものを。

ところが、これでもエラーがなくならない。

なぜだ?

そうか、きっとバーミッションの設定やな。
そう睨んだボクはFTPソフトでパーミッションを調べてみると案の定754になっている。
755にしないとこのプログラムは動かない。すぐに、755に設定を変更しようとした。

ところが、どうしても変更できない。
他に方法があるのか?もがくようにネットを調べたら、ジオシティーズではパーミッションは自動設定されるとか。それも754に。それでも動作するのだとか。

じゃあ、なんでエラーになる?
perlのソースをみて、CGIのパスやsendmailのパスを何度も確認した。

わからん。

ネットで調べると、メールフォームのfromはyahooメールでないとエラーになると報告されている。
確かにジオシティーズの説明にもそう書いてある。

でも、ボクのperlのソースでは、最初からfromのアドレスはyahooなのだ。

ここで、完全に行き詰まってしまった。

頭を冷やすこと一晩。

翌朝、早起きした。
perlをやめてPHPの無料のメールフォームに取り替えることにした。
PHPの方が慣れているのとシンプルなメールフォームの機能で十分だからだ。

選んだ無料のメールフォームはジオシティーズにも対応しているとのこと。
ダウンロードして、ささっと設定してテストしてみた。

やはり、エラー...。
う〜ん。なんでやろ。
fromの指定もyahooのメールアドレスにしているのに。

もう一度、ソースを見直してみた。
すると、このプログラムではtoには管理人のメールアドレスを指定するようになっている。
そして、ジオシティーズ向けに、このTOのアドレスを、fromに代用するように改変せよとある。

ボクは、toには管理人のメールアドレスだけではなく、団のメーリングリストも指定している。
ひょっとして。この団のメーリングリストが。

ビンゴ!

プログラムで toをFromに指定する場合は複数のアドレスはエラーになる。
考えれば単純なこと。

こうして、無事メールフォームは機能した。

やれやれの一日だった。台風でどこへも出かけられなかったからいいか。

« uni-ball signo RT1はやはりブラックがいいかも | トップページ | いつものクスリをもらいに行った »

03 アプリケーション」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/514829/60473420

この記事へのトラックバック一覧です: YahooジオシティーズのCGIが変更になったのに気がつかなかった:

« uni-ball signo RT1はやはりブラックがいいかも | トップページ | いつものクスリをもらいに行った »