重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

CGI初心者です!
http://www.kent-web.com/data/postmail.htmlを参考にして
cgiで送信フォームを作成しています。
perlへのパスも確認し、sendmailのアドレスも
$mailprog = /usr/lib/sendmail;
で確認して、動作させました。
また、cgiのプログラムはcgi-bin配下に格納し、
$script = ../../cgi-bin/postmail.cgi;
という形で修正しました。
ところが、フォームで送信ボタンを押すと、postmail.cgiのプログラムリストがブラウザで表示してしまい、メール送信が出来ない情況です。
うまく動作させたいのですが、どのようにすればよろしいでしょうか。

A 回答 (4件)

根本的なところの確認ですが、


サーバーはどこを使ってますか?
    • good
    • 0

>テキストを表示するだけの簡単なcgiは動く


いくつか質問します
 ・質問1、postmail.cgi と同じディレクトリに その簡単なcgiを置いて動きますか?
 ・質問2、 ほんとにプログラムリストが表示されているとしたら
  1行目に #!/usr/local/bin/perl が表示されている状態になりますが、
  そうなっていますか?
  ありがちな例としてソースリストではなく
  CGIの実行結果やエラーメッセージがテキスト状態で
  ブラウザ内にズラーット表示されたりダウンロードしようとしたりする場合が
  有りますけどそれでは有りませんか?
  もし後者なら全然別の問題ですが?
    • good
    • 0
この回答へのお礼

有難う御座いました!
質問1:動きますか?
質問2:1行目に #!/usr/local/bin/perl が表示されている状態になります

お礼日時:2006/05/22 15:00

実行権限付与(Optionsやパーミッション)が無い場合は403Forbidden になりますので


スクリプトのソースがそのまま表示又はダウンロードされてしまうなら
拡張子 .cgiをCGIとして設定されていません
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2150813
にも書きましたが
Apacheならhttpd.confか.htaccessに
AddHandler cgi-script .cgi
http://httpd.apache.org/docs/2.0/ja/mod/mod_mime …

但しApacheの場合 ScriptAlias でcgi-bin を設定してあれば
AddHandler もOptionsもいらないので 質問者さんのケースでは
cgi-binに入れても意味が無いことになりますね

IISならスクリプトマッピングします
インターネットサービスマネージャ>既定のwebサイトまたは
他の仮想ディレクトリのプロパティ>構成>アプリケーションのマッピング>.cgi c:\Perl\bin\perl %s %s
    • good
    • 0

CGIの格納してあるフォルダに実行権限与えられてないですね。


レンタルサーバですか?自宅サーバですか?
自宅サーバならapacheですよね?httpd.confの設定でCGIの実行許可を与えましょう。
apacheの設定に付いてはしたのURLで。

参考URL:http://www.miloweb.net/win/server/index.html
    • good
    • 0
この回答へのお礼

有難う御座います。テキストを表示するだけの簡単なcgiは動くので、実行許可はあるとおもうのですが

お礼日時:2006/05/19 14:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!