メールフォームのCGIがうまくいきません。送信してもエラーになってしまいます。http://thth.picot.ne.jp/cgi-bin/mailform.html下記のCGIを使用しています。http://www.new-f.com/program/cgi/mailex.html情報が足りなければ追加します。宜しくお願いいたします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/02/03 17:11:29
  • 終了:--

回答(9件)

id:evil No.1

evil回答回数51ベストアンサー獲得回数02004/02/03 17:25:49

ポイント5pt

確認ですが、この辺はチェックしましたか?

jcode.plがパッケージに含まれて無いですが、ちゃんとありますか?

id:powan

かかれている所は、確認しました。勘違いしていなければ大丈夫だと思います。

2004/02/03 17:36:42
id:shin291 No.2

shin291回答回数48ベストアンサー獲得回数02004/02/03 17:34:53

ポイント5pt

Internal Server Errorについて

一番簡単なことですが。。。

・パーミッションの設定を確認してください。

・perlのpathを確認してください。

id:powan

何度も、確認しました。

できれば、誰か代行設置して頂ける方はいないでしょうか?

2004/02/03 17:39:43
id:masaomix No.3

masaomix回答回数1023ベストアンサー獲得回数12004/02/03 17:37:25

ポイント150pt

URLはダミーで失礼します。

うーーーん、エラー500のInternal Server Errorが出てますね。

これは原因を特定するのにはエラーログを見ないと何とも分かりません。

一応考えられそうなところとしては、

1) mailex.cgiの1行目、

#!/usr/bin/perl

がお使いのサーバの指定パスと合致しているかどうか確認してください。

#!/usr/local/bin/perl

だったりすることがあります。

2) 同じく13行目から、

require ’./jcode.pl’;# jcode.plまでのパス。

require ’./mimew.pl’;# mimew.plまでのパス。

$sendmail = ’/usr/sbin/sendmail’;# sendmailまでのパス。プロバイダーに聞きましょう。

これらのパスをしっかり確認してください。

このままの設定なら、jcode.plとmimew.plは

mailex.cgiと同じディレクトリに存在していなければなりません。

あとは・・・・あまり間違えようにも間違えるところの少ないCGIですよね(^-^;

せいぜい各ファイルのパーミッションと文字コードを確認してみるくらいでしょうか。

文字コードは念のためエディタで読み込んでいる状態で

きちんとEUCになっていることを確認してください。

最後に。

お使いのサーバはsendmailの利用が許可されていますか?

もし許可されていないサーバですと、

このCGIは動きません。

追加情報を見て、また何か気が付いたことがあったら書きますね。

ご健闘をお祈りします。

id:powan

#!/usr/bin/perl

で問題ないと思います。

パス設定は’./jcode.pl’で同サイトで他のCGIは

動きましたので問題ないと思います。

sendmailのパスも確認しました。

sendmailの利用は許可されていると思います。

>文字コードは念のためエディタで読み込んでいる状態で

>きちんとEUCになっていることを確認してください。

エディタで文字コードの確認をするにはどうしたらいいのでしょうか?

http://net.pinky.ne.jp/index.htmで「サーバーの使い方」→「CGIの設置方法」を見て何かわからないでしょうか?

2004/02/03 17:55:44
id:enzobyd No.4

enzobyd回答回数8ベストアンサー獲得回数02004/02/03 17:40:03

ポイント10pt

#URLはダミーです。

[ Internal Server Error ] これは、FTPでサーバにCGIファイルをアップするときに、パーミッションの設定をしてない場合によくでるエラーです。

WindowsのFTPソフトで、FFFTPの場合のパーミッション設定方法を教えます。

サーバにファイルをアップ > サーバのCGIファイルを選択 > 右クリック > 属性変更

現在の属性 という部分が [ 705 ] になるまでチェックボックスを触ってみてください。その状態で [

]にアクセスして、ダメなら [ 755 ] も試してみてください。

id:powan

mailex.cgi を[705]や[755]にしてみましたが、駄目なようです。

2004/02/03 18:00:51
id:myuhe No.5

myuhe回答回数30ベストアンサー獲得回数02004/02/03 17:41:47

ポイント10pt

URLはダミーです。

サーバーの情報が欲しいです。

例えば,UNIXだとするとsendmailに対応してない場合,使うことはできません。

まず,サーバー管理者に尋ねてみてはいかがでしょうか?

id:powan

サーバーはLINUXのようです。

http://net.pinky.ne.jp/index.htm

から「サーバーの使い方」→「サーバーの概要」

CGIのReadMeにUNIX推奨となっているのですが、これは問題ないでしょうか?

2004/02/03 18:04:34
id:masaomix No.6

masaomix回答回数1023ベストアンサー獲得回数12004/02/03 18:10:33

ポイント150pt

うーーーーーん(^-^;

ちょっとためしに設置してみましたら、

極めて簡単に動作しちゃいましたよ。

基本的な間違いさえなければ、全く単純に設置できます。

ちょっと設置していて気が付いたのは、

mimew.plとmimer.plを取り違えてUPしちゃうことがあるかな、

というところです。

似たようなファイルなのですが、

mimer.plは受信時用なのでこのCGIでは使いません。

どうしても動かないようでしたら、

上記URLから私にメールが届きます(当たり前ですがw)

これで私の回答権は終わりですので、

なにかあったらメールフォームで呼んでください。

一回やってみてうまくいっていますので設置代行も可です。

id:powan

大変ありがとうございます。無事送信ができました。

ただ、送信はされるのですが、送信後masaomix様のメールフォームのような、表示にならず、

「警告 : ページの有効期限切れ 要求したページは、フォームで送信された情報を使用して作成されました。このページは、もう利用できません。セキュリティ保護のため、情報は自動的には再送信されません。 情報を再送信し、この Web ページを表示するには、ツール バーの [更新] ボタンをクリックしてください。」という表示になります。しかも何故か文字化けします。上記の文章は、エンコードで、文字変換しました。このような現象はなぜ起きるのでしょうか?

2004/02/03 20:56:48
id:Algol No.7

Algol回答回数5ベストアンサー獲得回数02004/02/03 18:45:13

ポイント20pt

http://www.kawa.net/works/perl/catch/news.html

[Perl] KCatch.pm/CGI エラーメッセージをブラウザに表示

解決策の小ネタですが…

Internal Server Errorだけでは、何のエラーかわかりづらいと思います。

KCatch.pm をスクリプトの最初に入れておくとエラーを表示してくれます。ただ内容によっては、表示されない場合もあるので気をつけてください。

使用方法は、URL参照で…(ぉ

例)

#!/usr/bin/perl

use KCatch qw( execdata );__DATA__

…つづく

id:powan

ありがとうございます。次回、上手くいかないときに、試してみたいと思います。

2004/02/03 21:03:09
id:evil No.8

evil回答回数51ベストアンサー獲得回数02004/02/03 19:59:25

ポイント5pt

http://www.rescue.ne.jp/cgi/webform/

CGI RESCUE チャレンジCGI - フォームメール(WebFORM)

こっちのメールフォームは動くでしょうか?

id:powan

ありがとうございます。URLのもので代用してはどうか、ということでしょうか?

ファイル添付のメールフォームが希望なので、こちらのメールフォームにはないようですので、残念ですが。

2004/02/03 21:22:39
id:mi-si No.9

mi-si回答回数207ベストアンサー獲得回数02004/02/03 21:35:36

ポイント10pt

これは、エラーログの内容をみないと詳しいエラー解析できません。エラーログが見られない時に良くやる手にダミーコードを埋め込んで、どこの部分でエラーが出て行くか切り分けていくと言う方法が有りますが・・・。

まだ出てないところで考えられるのは、

- CGI.pmが入ってない(既存のLinuxのディストリビューションを使っている場合は、まず考えられません。)

- sendmailは使えるものの一定の制限がかかっている(FromとToの指定に制限がかかっているなど。このあたりはプロバイダに問い合わせてみてください)

- cgiを間違えてBinaryモードでアップロードしている(ASCIIモードでアップしなおしてください)

id:powan

回答頂きましたが、たった今問題解決しました。

パーミッション設定が、添付のreadmeと違っていたことと、送信後に正常な表示がなかったのと文字化けはHtmlファイルのプログラムの修正で解決しました。皆様ありがとうございました。

2004/02/03 21:39:43

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません