• 締切済み

フォームで送信ボタンを押すと、postmail.cgiのプログラムリストが表示してしまう。

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のプログラムリストがブラウザで表示してしまい、メール送信が出来ない情況です。 うまく動作させたいのですが、どのようにすればよろしいでしょうか。

  • CGI
  • 回答数4
  • ありがとう数3

みんなの回答

  • turbo27
  • ベストアンサー率40% (166/414)
回答No.4

根本的なところの確認ですが、 サーバーはどこを使ってますか?

回答No.3

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

maiko100
質問者

お礼

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

回答No.2

実行権限付与(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.html#addhandler 但しApacheの場合 ScriptAlias でcgi-bin を設定してあれば AddHandler もOptionsもいらないので 質問者さんのケースでは cgi-binに入れても意味が無いことになりますね IISならスクリプトマッピングします インターネットサービスマネージャ>既定のwebサイトまたは 他の仮想ディレクトリのプロパティ>構成>アプリケーションのマッピング>.cgi c:\Perl\bin\perl %s %s

  • tsukachan
  • ベストアンサー率42% (202/470)
回答No.1

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

参考URL:
http://www.miloweb.net/win/server/index.html
maiko100
質問者

お礼

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

関連するQ&A

  • postmail.cgiで500接続エラーが出て困ってます

    HPビルダー11でHPを作成しています。 メールフォームを作成するために、KENT-WEBさんの「PostMail」と いうフリーソフトを使っていますが、500接続エラーが 出てうまくいきません。 設定は取説どおりに3回やり直したので、たぶん大丈夫だと思います。 変更箇所は メモ帳の先頭を #!/usr/bin/perl # → mimew.plを指定 $mimew = './mimew.pl'; 送信先にメルアドを半角入力 # sendmailのパス $sendmail = '/usr/sbin/sendmail'; 以上です サーバーはカゴヤです。下記に書かれていたとおりに設定しました。 http://www.kagoya.net/option/cgi.html 余計な全角スペースもありませんし、大文字小文字もチェック しました。 チェックモードでも同じエラーが出ます。 丸二日頑張ってみましたが、何が問題なのか全くわかりません。 どうか、よろしくお願いします。

  • メールとウェブサーバーが別マシンで構成されたフォームメールの設定

    http://www.kent-web.com/data/postmail.html ↑ ここに書かれているCGI・Perlにてフォームメールの設定をしようとしているのですが、メールプログラムまでのパスを指定で分からなくなりました。 # メールプログラムの指定 $mailprog = "/usr/lib/sendmail"; マシーン構成は、DNS・sendmailはTurbolinuxで、WebサーバーはApacheでWidows2000の環境になっています。 つまり、Webサーバーにcgi・perlの定義をしていて、別マシーンにsendmailが動いている状況です。 そもそも、Web・メールサーバーが同一マシン上でないとフォームメールができないのかも知れませんが、そのあたりのアドバイスもお願いします。

    • ベストアンサー
    • CGI
  • Postfixでメールフォーム・・・・

    Vine Linux3.2でサーバーを動かしているのですが、先日CGIのメールフォームを設置できればいいなぁ~と思い、早速インターネットでいろいろと調べたところ、Vine Linux3.2に標準でインストールされているPostfixでもメールフォームができるというとでさっそく試してみました。 まず、KENT-WEBのホームページ( http://www.kent-web.com/ )にあるCGIスクリプト「PostMail」をダウンロードしてsendmailへのパスを/usr/bin/sendmail.postfixに変更し、サーバーにアップして実行してみたのですが、「メール送信失敗」と出ます。 Checkモードで確認してみると メールソフトパス:NG → /usr/bin/sendmail.postfix となっています。 どうすればPostfixでもメールが送信できるようになるでしょうか? アドバイスよろしくお願いします。

  • KENT WEBのフォームメールについて

    こんにちは。 KENT WEBのメールフォームを、COOLonlineの有料スペースに設置しようとしています。 設置方法の中に、以下のような記述があるのですが、どういうことなのか、またCOOLではどうなっているのかいまいちよく意味が掴めず困っています。 『$mailprog = "/usr/lib/sendmail";  (メールプログラムまでのパスを指定します。必ずプロバイダの用意するCGI設置手順を確認してください)』 よろしくおねがいします。

    • 締切済み
    • CGI
  • postmail フォーム複数設置に関して。

    こんばんわ★ 私はKENTさんのpostmailでフォームを2つ設置したいと思っていて、1つ『会員登録フォーム』は無事に設置出来ました。 ・・・が、2つ目『お申込みフォーム』で苦戦しております・・レンタルサーバーは『ロリポップ』です。postmailのディレクトリ自体をもうひとつ増やし『postmail2』を作りました。FTPにアップし、お申込みフォームは開くのですが、送信ボタンを押すと『404エラー』が出てしまいます・・ ちなみに<a href="http://www.konkatsu-sky.com/postmail2/postmail2.html " target="_blank">&gt;&gt;PARTY参加お申込みフォーム★★</a></p><br> これが作成したものです。 どなたか助けてください・・・ postmail2.cgiです。  subject = '参加申込みフォーム'; # 本体プログラム【URLパス】 $script = './postmail2.cgi'; # ログファイル【サーバパス】 $logfile = './data/log2.cgi'; # 確認画面テンプレート【サーバパス】 $tmp_conf = './tmpl/conf2.html'; # 一般エラー画面テンプレート【サーバパス】 $tmp_err1 = './tmpl/err12.html'; # 入力エラー画面テンプレート【サーバパス】 $tmp_err2 = './tmpl/err22.html'; # 送信後画面テンプレート【サーバパス】 $tmp_thx = './tmpl/thx.html';

  • /web下のpostmailの不具合について

    /webの下にホームページをアップロードしてエクスプローラで動いてます。今度はkentさんのpostmailをアップロードして/webのなかにホルダーpostmailを作り全部入れました。もちろん、cgiの#!usr/bin/perl ,sendmailはusr/sbin/sendmailに設定。アドミションもちゃんとやりました。本体プログラムはhttp://www.hoge.com/postmail/postmail.cgiにしました。ところが、後ろに?mode=checkをつけてエクスプロラーでみるとpostmailをサーバーがまったく認識しません。ログファイルもサーバーパスも./postmail/data/log.cgiのように./postmailから書いてあります。何が悪いのでしょうか? それにあるサーバー会社のpostmailの解説に/var/www/html/postmailを発見しましたが何の意味かわかりません。kentさんの解説には出ていませんでした。誰か初心者に教えてください。 なおサーバーはアパッチのターボリナックス2.2.6です。httpdocsやcgi-binやhtmlガサーバーを開くと/webと並んであります。

    • 締切済み
    • CGI
  • postmailを使ったメールフォームについて

    お世話になります。 CGIを使ったメールフォームを利用したくて、KENT-WEBさんのpostmailをダウンロードして解凍、それをホームページビルダーで添付のメールフォームを自作で好みのメールフォームに書き換えました。postmail.cgiの内容もperlパスとかメールアドレスとか必要箇所も設置方法を参考に書き換えました。 メールフォームのHTMLの中には、<form action="postmail.cgi"method="post">も入れてあります。 そして、作ったhtml.indexのサイト全体に上記で作ったメールフォームをリンクさせました。 この状態で、レンタルホームページスペースにアップロードすると言う流れであっていますでしょうか。 postmailディリクトリを作ってそこにサイト全部をアップロードするのか、CGIのみをアップロードするのか、またpublic_htmlというディリクトリにはサイト全体をアップロードしなければいけないと言う事であっていますか? その他アクセス制限を支持通りかどうか確認すれば良かったでしょうか。 お借りするサイトさんは、CGI利用可能、sendmailにも対応しています。 ビルダーで転送する前に、画像gifは全てimageと言うフォルダを作って全てそこへ移動しましたので、アップロードする時にはimageと言うディリクトリが自動で作成されます。 postmailのフォルダもあるので、その中のメールフォームをhtml.imdexにリンクさせた時点でpostmail.cgiと言うディリクトリが出来ると思うのですが、サイトさんのディリクトリをいじり過ぎてわからなくなってしまうと元に戻せないので、長文になってしまい申し訳ありませんが、 初心者で、勉強不足もありご面倒かと思いますが、ご意見をどうぞ宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • フォームの送信ボタンを押すと

    どなたか、お助けいただければ幸いです。 メールフォームを設置し、いざ送信テストをしようと 思ったのですが、送信をする際に下記のようなエラーがでます。 対処方法を教えてください(@´_`@)フエーン □エラーメッセージ□ Software error: Can't locate Jcode.pm in @INC (@INC contains: /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/i386-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl/5.6.0/i386-linux /usr/lib/perl5/site_perl/5.6.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.6.1/i386-linux /usr/lib/perl5/vendor_perl/5.6.1 /usr/lib/perl5/vendor_perl .) at mailform.cgi line 8. BEGIN failed--compilation aborted at mailform.cgi line 8. というような、エラーです。このエラーは当方は初めて見るエラーでして、どのように対処すればわかりません。。。 □8行目記載内容□ use Jcode; のみです。 □フォーム設置ツリー□ ../inquiry/index.html ../cgi/toiawase/mailform.cgi ../cgi/jcode.pl   ↓ここから下は同ディレクトリーです。 ../cgi/cgi-lib.pl という中身で設定しております。 □環境□ IBM Xserver(Xeon 2.4GHz) Redhat Linux DirectAdmin Apache1.3.29 もし、この件でこの内容がなければ対処ができないとのことであれば、 何なりとおっしゃってください。 よろしくお願いします。。。

    • ベストアンサー
    • CGI
  • ホームページのメールフォームにcgiを設置したのですが実際に送信してみるとpostmail.cgiの画面になってしまいます

    ホームページビルダーでつくり、KENT-WEBさんのpostmail.cgiを設置しました。 postmail.cgiを組み込んだpostmail.html, log.cgi, body.txt, conf.html, thx.html, err1.html, err2.html, io-socket.pl, jcode.pl 上記もすべてアップしました。 正常に作動すれば、postmail.htmlから送信して、エラーがあればerr1.html、err2.htmlになり、確認をconf.htmlでとり、thx.htmlで受信完了の挨拶になり、body.txtで、こちら側に受信となるのだと思いますが、postmail.htmlから送信するとpostmail.cgiの画面になります。 {log.cgi, body.txt, conf.html, thx.html, err1.html, err2.html, io-socket.pl, jcode.pl}これらは、単体ではアドレス入力で表示されますが、お互いが反応しないようなのです。 もうひとつ、疑問なのが、.htaccessをアップしたのですが、ホスト側に表示されません。 どこをどう直したらいいでしょうか? まったくの初心者です。よろしくお願いします。

  • CGI メールフォーム

    Kentさんのメールフォーム http://www.kent-web.com/data/postmail.html​ を設置しようとしているのですが、 携帯で動作確認すると「前画面に戻る」が行えません。 私はたいして知識がないので下手に弄ると 動作しなくなりそうなので、どなたか親切な方教えては頂けないでしょうか?

    • 締切済み
    • CGI

専門家に質問してみよう