CGI-BBS > 情報収集 > フォームメール > 自動返信メール文追加しようとすると…


カレッヂ
カレッヂ


質問者 拓実  投稿日 2004/3/15(月) 23:50:21
ネットサーフレスキューの「フォームメール」を改造して、自動返信メール文を
追加しようとしました。小生はCGI初心者なので様々な質問の内容を見比べてみましたが、
どうも解決できないようなので書き込みます。

フォームメールをインターネット通販の注文ページに使用できないかと考えて実行しようと
していますが、「--- ここから ---」の前に「ご注文ありがとうございました」の文章、
「--- ここまで ---」の後に署名等を追加しようと考えていますが、この文章を追加すると
「500 Internal Server Error」になってしまいます。
以下が変更内容で、行の始めに「*」の付いている行が追加した行です。

  ・・・
  print OUT "Content-Transfer-Encoding: 7bit\n";
  print OUT "Content-Type: text/plain\; charset=\"ISO-2022-JP\"\n\n\n";
*  &jis("ご利用いただきありがとうございました。"); print OUT "$msg\n";
*  &jis("ご注文内容をご確認ください。"); print OUT "$msg\n\n";
  &jis("--- ここから ---"); print OUT "$msg\n";
  -略-
  &jis("--- ここまで ---"); print OUT "$msg\n\n";
*  &jis("--- なお、このメールに心当たりのない場合は、… ---"); print OUT "$msg\n\n";
*  &jis("○○店"); print OUT "$msg\n\n";
*  &jis("http://×××××.co.jp/"); print OUT "$msg\n\n";
*  &jis("webmaster@×××.co.jp"); print OUT "$msg\n\n";
  $host = $ENV{'REMOTE_HOST'};
  $addr = $ENV{'REMOTE_ADDR'};
  ・・・

追加した行がなければメールは問題なく送信され、これらの変更を加えるとエラーが起きてしまいます。
何か良い解決方法がありますでしょうか…?宜しくお願い致します。

プロバイダ参照:
サーバのOS:(未選択)
パソコンのOS:Win95系
エディタ:秀丸
FTPソフト:FFFTP
サーバ移転:した
改造:している 改造前正常動作
CGI習熟度:firsttime

回答者 sim  [削除]  投稿日 2004/3/16(火) 02:03:56
&jis("webmaster@×××.co.jp");
この行を
&jis('webmaster@×××.co.jp'); 
このように変えてみてください。
質問者 拓実  [削除]  投稿日 2004/3/16(火) 08:33:35
sim様、ご教授ありがとうございます。

ご指摘どおり、 " を ' に変更しましたが、やはり「500 Internal Server Error」が出てしまいました。
試しに1行ずつ追加して動作確認をしてみましたが、同じ1行を追加しても上手くいく場合と
上手くいかない場合が現れてしまいます。
一体どうしてなんでしょうか…。
(教えて君になってしまい申し訳ありません…ι)
回答者 sim  [削除]  投稿日 2004/3/16(火) 13:25:45
なんでしょうね。
まずは500エラーの内容を調べてみてはいかがでしょうか?

KCatchモジュールという使いやすいデバッグモジュールがあります。
こちらを同じディレクトリに設置してCGIファイルに

#!/usr/bin/perl

use KCatch qw( execdata );__DATA__

このように追加してみてください。

エラー内容が英語で表示されますが、なんとなく理解できるかと思います。

syntax errorとかが出ると記述を何か間違えています。

また、エラーが検出されなければサーバ側の設定で負荷が強すぎるために500エラーを出しているかもしれません。
自分のサイトの負荷がほとんどない場合でも他のユーザーサイトの負荷が強いと500エラーを出すサーバもあるかと思います。
質問者 拓実  [削除]  投稿日 2004/3/21(日) 10:47:51
sim様、この度は誠にありがとうございました。
エラー内容は構文エラーだったようです。
まったく意識していなかった時に押してしまったのか、おかしなところに
セミコロンが入っていました。初心者の典型的なミスでした…。
修正したところ、無事に動作しました。
お手数をおかけしまして申し訳ございませんでした。
もう少しCGIの勉強をしなくては…と思いました。

このページは終了したので返信(回答)は書きこめません
 


Web裏技