重要なお知らせ

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

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

はじめまして、レンタルサーバーで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 = '';
---------------------------------------------------------

どうかアドバイスをお願いします

A 回答 (2件)

メール送信フォームのHTMLで、フォームの提出先がHTML自身になってませんか?



>直接CGIから実行せず、htmlからメールフォームを表示して。
・・・【中略】・・・
>アルファメールでは「700」が推進とあったので700にしてみたら
>  sendmail.htmすら、動かず、755に変更しました
・・・【中略】・・・
>送信ボタンを押すとエラーになります
>  「 internal Server Error 」

 以上から想像できるのは、
・HTMLの他人権限がOだと動かないけど、ソースがそのまま表示されるのをブラウザ(たぶんIE)は拡張子で判断して表示させている。標準的なブラウザだと、text/plainでおられてきたデータはテキストで表示されるので、そこで気がつく。
・HTMLを実行プログラムとして実行しようとしてエラーになる。

 HTML内の<form action="[パス]sendmail.cgi" method="post">にすると良いはずでか。

 本来は、HTMLもCGIから出力させる方が良いです。スクリプトの
__END__
 以降にそのままHTMLのソースを記述して、
while(<DATA>{print;}
 とか・・

この回答への補足

すみません 質問者でございます

自己解決というと、今後の為にもよくないと思い、解決した方法を載せさせていただきます

結局、記載には殆ど間違いがありませんでした
一部、単純なミスがありましたが、動かない事もない程度です
サポートにも電話したり、詳しい知人にも見てもらい結局ダメでした

最終的に、バイナリ、アスキーコードの転送方法で引っかかっていたようです
サーバーにアップする際に、Internet Explorer でFTPサイトを開き、そのままアップしておりました
ですが、これが悪かったようです
FFFTPでサーバーにアップすると、CGIが動きました!!!

本来、どちらでもアップには支障がないとサポートにも確認しておりましたが
なぜか、アップ時に問題が発生していたようです
おそらく、転送時にバイトが飛んでいるか、相生がよくなかったようです

回答を頂きました皆様に感謝いたします

補足日時:2010/06/22 18:05
    • good
    • 0
この回答へのお礼

お礼が遅くなってすみません

結局、悪戦苦闘の末、解決いたしました

ありがとうございます

お礼日時:2010/06/22 17:51

ライブラリ(jcode.pl)がスクリプトと同じディレクトリに存在してますか?


このスクリプトは文字コードの変換に古式ゆかしい jcode ライブラリを使うようですので、こいつが無いとうごきません。
(perl のパスとパーミッションが合っているならコレくらいしか考えつかないです)

ちなみに
>sendmail.htmすら、動かず、755に変更しました
ここの意味がわからない。
html ファイルのパーミッションを 755 にしたって事?
html はデフォルトのまま( 604 とか 644 )にしときましょう。
    • good
    • 0
この回答へのお礼

お礼が遅くなってすみません

結局、悪戦苦闘の末、解決いたしました

ありがとうございます

お礼日時:2010/06/22 17:51

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