• ベストアンサー
  • すぐに回答を!

メールフォーム作成でInternal server errorと出ます。

  • 質問No.3722848
  • 閲覧数633
  • ありがとう数1
  • 回答数3

お礼率 55% (5/9)

皆様こんばんは。メールフォーム作成で困っております。
練習中なのでありますがホームページビルダー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>

このあたりまで記載します。
どこが悪いのか何度試してもよく分りません。
どなたかアドバイスして頂けないでしょうか。

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

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

ベストアンサー率 42% (39/92)

> $sendmail = '/usr/sbin/sendmail';
↑↑↑↑↑
sendmailパスの変数は、$mailprog ではないのですか?
$mailprog = '/usr/sbin/sendmail';
お礼コメント
nan0007

お礼率 55% (5/9)

ご連絡ありがとうございます。

$mailprog = '/usr/sbin/sendmail';
この部分が問題でした。
無事動きました。有難う御座いました。
投稿日時:2008/02/12 09:08

その他の回答 (全2件)

  • 回答No.2
index.html、kansou.htm、kansou.cgi、jcode.plの全てのパーミッションを「755」にされていますか?
おそらく「kansou.cgi」のみパーミッション「755」にするだけでいいと思うのですが。
※他のは「644」で変更する必要は無いと思いますよ。
ホームページビルダー付属のCGIを見たことがないので全く自信ありませんかせ。

あと、このCGIには脆弱性が発見されており、修正プログラムが配布されています。
こちらを使われたほうが安全だと思います。
CGIスクリプト内部とフォームタグの書き方も換わっています。
[ホームページ・ビルダーのサンプルCGIの脆弱性]
http://www-06.ibm.com/jp/software/internet/hpb/security/hpbcgifix_20070514/index.html
http://www-06.ibm.com/jp/software/internet/hpb/security/hpbcgifix_20070514/hpbcgifix.html#01
http://www-06.ibm.com/jp/software/internet/hpb/security/hpbcgifix_20070514/hpbcgifix.html#02
  • 回答No.1
自分もperl、CGIは勉強中ですが気づいた点を。


一行目の「!」と「/」の間にスペースがないのはエラーの原因になるのではないでしょうか?
また、パーミッションがサーバの指定と異なるということはありませんか?

プログラム内のミス以外で気づいたのはこんなところです。
関連するQ&A
ページ先頭へ