• ベストアンサー

mailformのCGI設置で「Internal Server Error」が出て・・・

いつもお世話になります。 メールフォームのCGIを設置しようと あれこれやっているのですが 「Internal Server Error」と表示されうまくいきせん。 たぶんCGIファイルの記述がマズいのだと思うのですが・・・ パーミッションなどはマニュアルどおりに設定してます。 CGIの一部を掲載してみますので よろしくお願い致します。 #!/usr/bin/perl #jcode.pl のパス(相対パス指定) $jcode = './jcode.pl'; #sendmail のパス(要変更) $sendmail = '/usr/sbin/perl/sendmail'; #一時保存用ファイルのパス(相対パス指定) $tempfile = './tempfile.dat'; #メールを受け取るアドレス $getmail = '********@rose.plala.or.jp'; #送信完了画面のパス(http://~の絶対パス指定) $complete = 'http://challenger.****.ne.jp/*********/public_html/mailform/complete.html'; #送信確認用テンプレートのパス(相対パス指定) $checktemplete = './check.html'; #エラー表示用テンプレートのパス(相対パス指定) $errortemplete = './error.html'; #コピーメールの送信者名 $copymailfrom = 'from@form.mail'; #入力フォームのアドレス(http://~の絶対パス) $enterformurl = 'http://challenger.****.ne.jp/*********/public_html/mailform/form.html'; #このCGIのアドレス(http://~の絶対パス) $ownurl = 'http://challenger.****.ne.jp/*********/public_html/mailform/mail.cgi'; ディレクトリやメールアドレスの部分の「*」は ブラインドのために変更して載せてます

  • CGI
  • 回答数2
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

エラーログを確認してください。 sendmailのパスは正しいですか? 通常は /usr/sbin/sendmail または、そのシンボリックリンクの/usr/lib/sendmailになりますが?

kohshun
質問者

お礼

みなさんのアドバイスを ひとつひとつ修正しまして うまく動くようになりました。 ほんとにありがとうございました。

kohshun
質問者

補足

はじめまして、Kohshun です。 回答くださってありがとうございます。 >sendmailのパスは正しいですか? 正しくありませんでした。 修正してみます。

その他の回答 (1)

  • namiri_e
  • ベストアンサー率37% (37/98)
回答No.1

プログラム本体部分はぜんぜんいじってませんか? そうだとすると、まず考えられるのはperlへのパスですが、/usr/bin/perlで間違いありませんか? その次はjcode.pl部分でしょうか。 jcode.plファイルを同じディレクトリにいれてパーミッションが755かどうか確認してみてください。 まず考えられるのがその辺ですのでそれでもだめなら補足してください。

kohshun
質問者

お礼

みなさんのアドバイスを ひとつひとつ修正しまして うまく動くようになりました。 ほんとにありがとうございました。

kohshun
質問者

補足

はじめまして、Kohshun です。 回答くださってありがとうございます。 >その次はjcode.pl部分でしょうか。 >jcode.plファイルを同じディレクトリにいれてパーミッションが755かどうか確認してみてください。 jcode.plファイルがありませんでした。 修正してみます。

関連するQ&A

  • はじめまして、レンタルサーバーでCGI(sendmail)に苦戦中です

    はじめまして、レンタルサーバーでCGI(sendmail)に苦戦中です 皆さんの知恵を教えてください 現在の状況  サーバー : 大塚商会 アルファメール         新Webに変更済み(CGI可能) 作り方として、直接CGIから実行せず、htmlからメールフォームを表示して そして、sendmail.cgiを実行する形式にしました 参考として ttp://www.site-cooler.com/kwl/cgi/5.htm を手本とさせていただきました 上記のファイルをダウンロードして、必要な箇所を変更しました   ・sendmail     パス:/usr/sbin/sendmail   ですが、なぜか…sendmail.htmは表示できて、送信ボタンを押すとエラーになります   「 internal Server Error 」 です 色々模索中なのですが、全然、解決の目処が立っておりません 模索中なのは  ●パーミッション : アルファメールでは「700」が推進とあったので700にしてみたら   sendmail.htmすら、動かず、755に変更しました   とりあえず、メールフォーム(htm)は表示されます  ●sendmail.cgiは、755・700とも動きません  ●CGIの動作環境は、     ttp://www.alpha-mail.jp/support/server_info/pg/cgi.html   です 下記のように変更しました ------------------------------------------------------------------ #!/usr/bin/perl # 初期設定 -----------------------------------------------# # # sendmailへのパス (変更済み) # $sendmail = '/usr/sbin/sendmail'; # # jcode.plへのパス # $jcode = './jcode.pl'; # # メールの送付先 # $to = 'QQQQQQQ@QQQQQQ.co.jp'; # # メールの題名 # $subject = 'CGIメール送信サンプル'; # # 確認ページより戻るでリンクされるURLを指定 # $back = 'XXX://XXX.XXXXX.XXXX/'; # # 呼出し元。チェックする時はhttpから始まるURLを指定 # $referrer = ''; --------------------------------------------------------- どうかアドバイスをお願いします

    • ベストアンサー
    • CGI
  • メールフォーム作成でInternal server errorと出ます。

    皆様こんばんは。メールフォーム作成で困っております。 練習中なのでありますがホームページビルダー11に付いていました メールフォームCGIを利用しレンタルサーバーへUPしてみましたが Internal server error500と出てしまいます。 レンタルサーバーはPerlとsendmailはOKです。 ファイル構成です。 index.html kansou.htm kansou.cgi  jcode.pl です。同じディレクトリです。FFFTでパーミッションは755にしてあります。アスキーモード利用 kansou.cgiの最初のあたり ------------------------------------ #!/usr/bin/perl # # (C) COPYRIGHT International Business Machines Corp. 1999 # All Rights Reserved # #------ sendmailパスの指定 ------------------------------------- # 以下の、$mailprogに、サーバー上にある"sendmail"コマンドをフルパスで # 記入します。詳しくは、プロバイダのガイドに従ってください。 # (例) $mailprog = '/usr/lib/sendmail'; $sendmail = '/usr/sbin/sendmail'; $mailto = 'aaa@aaaa.co.jp'; #--------------------------------------------------------------- require 'jcode.pl'; ここまで。 ------------------------------------- kansou.htmの最初あたりのHTML <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>感想ページ</TITLE> </HEAD> <BODY bgcolor="#ffffff"> <H2 align="center"><I>お問い合わせフォーム<BR> <BR> 下記に必要事項をご記入の上、送信ボタンを押して下さい。</I></H2> <HR> <FORM action="kansou.cgi" method="POST"><INPUT type="hidden" name="to" value="aaa@aaaa.co.jp"> <CENTER> このあたりまで記載します。 どこが悪いのか何度試してもよく分りません。 どなたかアドバイスして頂けないでしょうか。

    • ベストアンサー
    • CGI
  • メールフォームCGIの設置について

    下記のサイトのメールフォームCGIをさくらインターネットのサーバーで設置したいのですが、うまく作動せず送信できません。 前にロリポップサーバーで設置したところ、作動し送信も問題なくおこなえたのですが、パーミッションやそれぞれのファイルの中身までロリポップで設置したものとまったく同じファイル・条件でさくらインターネットのサーバーに設置したのですが「500 Internal Server Error」がでてしまい、送信できません。 CGIの提供先は下記になります。 http://pgd.jp/cgiscript.html さくらインターネットのパスなどは下記の通りです。 Perl:5.8.x perl:/usr/bin/perl sendmail:/usr/sbin/sendmai CGIの動作環境は下記の通りです。 Perl5 # /usr/sbin/sendmail が使えること # モジュール HTML::Template, Jcode が動作すること 色々試してはみたのですが、CGIやPerlの知識はほとんどありませんので結局何をやってもだめでした。 パーミッションの設定やファイルのアップロードは間違いなくできております。 よろしくお願い致します。

    • ベストアンサー
    • CGI
  • 設置したCGIからsendmailが届きません

    設置したCGIからメールが届きません。 理想のプログラムを見つけ設置してみたのですが、何故か入力内容のメールが届きません。 配布元で質問したいのですが、既に動いていない様で、表示されないページが多数あります。 どなたかCGIのプログラムが分かる方、見ていただけないでしょうか?よろしくお願いします。 http://www.tryhp.net/webhandler.htm ためしにサーバーをいくつか変更してみましたので、設置方法や設定方法が間違っているとは思えないのですが・・・。 メールの設定箇所 #----------------------------------------------------- #sendmailのパス 利用できないプロバイダは '' にする。 #WindowsでBlatj.exeが使用できる場合は'c:\usr\lib\blatj' #$sendmail = 'usr/bin/sendmail'; #あなたのメールアドレスを指定します。 #このアドレスにメールが届きます $mailto = '*****@**.net'; #同時に送信するアドレスが有れば「,」で区切って指定 $cc = ''; #----------------------------------------------------- 送信プログラム #-------------------------------------------------------------------- # 入力データの確認もできればデータを保存してメールを送信 #-------------------------------------------------------------------- send_email($sendmail, '', $subject, $QUERY{'E-mail'}, $mailto,'', $cc, '', $msg) && &Error('メールの送信に失敗しました'); } html_head($bgcolor, $textcolor, $linkcolor, $vlinkcolor, $linkcolor, $bgimg, 10, 10, $title); print "<center>\n"; print "<p> </p>\n"; print "<table border=1 width=50%><tr><td align=center bgcolor=FFFF88>\n"; print "<font size=2><p> </p>\n"; print "ご協力ありがとうございました。<br>\n"; print "正常に送信しました。\n"; print "<p>"; 省略ばかりですが、情報の送信ボタンを押すと、完了画面が表示されるので、何故メールが届かないのか分かりません。 どなたか分かる方教えてください。 ちなみにサーバーはロリポップと、XREAを使用しております。 どうぞよろしくお願いします。

    • 締切済み
    • CGI
  • Perl/CGIについて

    #!/usr/bin/perl use CGI; $cgi = new CGI(); $from = $cgi->param('from'); $namae = $cgi->param('namae'); $naiyou = $cgi->param('naiyou'); print "Content-type: text/html\n\n"; # 設定 $sendmail = '/usr/lib/sendmail'; $jcode = './jcode.pl'; $to = 'ha***@***.ne.jp'; #$from = ''; $subject ='名鉄と地下鉄の直通運転'; # 文字コードライブラリの読み込み require $jcode; # メール送信 &jcode'convert(*subject,'jis'); open(MAIL,"| $sendmail -t"); # ヘッダ情報出力 print MAIL "To: $to\n"; print MAIL "From: $from\n"; print MAIL "Subject: $subject\n\n"; # 本文出力 print MAIL " $namae\n\n"; print MAIL " $naiyou\n"; close(MAIL); #確認表示 print " $namae\n"; print " $naiyou\n"; print "メールを送信しました\n"; end #確認表示の所で表示が改行されない。

    • ベストアンサー
    • Perl
  • 他のサーバのSendmailへのパスは?

    PerlでフォームメールとかのCGIを作成したときSendmailへのパスを記述すると思いますが、ローカルでSendmailを動かしているときは /usr/sbin/sendmail とかになりますが、他のサーバのSendmailを使いたいときはどのように指定すればいいのですか?

    • ベストアンサー
    • Perl
  • ロリポップでCGIが動きません。

    http://www.synck.com/contents/download/cgi-perl/archive/mailform.zip こちらのCGIをダウンロードして、ロリポップで 使用したいと思いreadmeに沿って 言う通りに設定を行ないましたが動きませんでした。 解凍したフォルダを置くディレクトリが指定されている? usr/sbin/sendmail というフォルダはhtmlやcgiを入れたディレクトリ直下に 作り、そこにsend.cgiを入れるのでしょうか。。。 チンプンカンプンでわかりませんので宜しくお願いします。 JavaScriptでは相性によってメールフォームが使えませんので CGIを勉強したいと思っています。

  • sendmailが上手く行きません。

    CGIに詳しい方、教えてください。 HP上にサンプル応募フォームを作って、アンケート形式で答えてもらい、その結果をメールで私に送ってもらう(sendmail)の件です。 以下のようにCGIを記入しています。 フォームに記入して「送信」すると、「送信は完了しました」というメッセージは出るのですが、一向にメールが届きません。 どこか記述がおかしいのでしょうか? なお、HPのFAQには Sendmailのパスは /usr/sbin/sendmail です。 と書いてあったので、それにあわせたつもりです。 よろしくお願いします。 ------------------------------------------- #!/usr/bin/perl $ver = 'PostMail v1.01'; #------------# # 基本設定 # #------------# # メールソフト種類 # 1 : sendmail (UNIX) # 2 : blatj (NT) $prog_type = 1; # コード変換ライブラリ require './jcode.pl'; # メールソフトまでのパス # → sendmailの例: /usr/lib/sendmail # → blatjの例: c:\www\mail\blatj.exe $mailprog = '/usr/sbin/sendmail'; # 送信先メールアドレス $mailto = '私のメールアドレス'; # 送信前確認 # 0 : no # 1 : yes $preview = 1; # メールタイトル $subject = "サンプル応募メール"; # ホスト名取得モード # 0 : $ENV{'REMOTE_HOST'}で取得できる場合 # 1 : gethostbyaddr関数で取得できる場合 $get_remotehost = 0; # スクリプト名 $script = './sample.cgi'; # 一時ファイル(blatjの場合のみ) $tempfile = "./$$\.tmp"; # 送信後の戻り先 $back = 'トップページのURL'; # method形式 (0=no 1=yes) $method = 'POST'; # bodyタグ $body = '<body bgcolor="#F1F1F1" text="#000000">'; ------------------------------------------

    • 締切済み
    • CGI
  • Perl メールフォーム複数のアドレスに。

    メールを複数のアドレスに配置したいのですがPGをどう変更すれば よろしいでしょうか? 参考ソース #!/usr/bin/perl # フォームメール #jcode.plの場所を設定 require "./jcode.pl"; # sendmailの場所を設定 $sendmail = '/usr/lib/sendmail'; # サンプルのタイトル $mail_title = "メール送信サンプル"; # ページの背景色 $bgcolor = "#FFFFFF"; # ページの文字色 $text = "#000000"; # 戻り先のURL $back_url = '***@aaa.co.jp'; # CGIプログラムの設置場所 $cgi_url = "./mail.cgi"; # 受信メールアドレス(送信先) $mailto = '***@aaa.jp';

    • ベストアンサー
    • Perl
  • メールサーバが qmail で、掲示板(cgi)のメール送信が動くか?

    お世話になります。 現在、メールサーバのシステムを入れ替えようと考えています。 現行のメールサーバは、sendmailを利用していますが、新しいシステムでは、qmailにする予定です。 ところが、社員用Webの掲示板(cgi)で、書き込みがあったら社員にメールで送信するような設定にしているのですが、それがsendmailを利用しているようなのです。(cgiのスクリプト中にsendmailのパスを指定する個所がある) このようなメールを送信する掲示板を利用する場合、qmailでは実現できないでしょうか? よろしくお願いいたします。

専門家に質問してみよう