アメリカでサイトを構築しております。FormMailとNMSを使い、メールフォームを作成したのですが、うまくいきません。internal server error と表示されてしまいます。サーバはApacheです。
以下、コピペします。よろしくご指導下さい。サイトはまだ不完全のため
架空の名前(sample)です。またパーミッションは755で指定しております。
#!/usr/bin/perl -wT
#
# NMS FormMail Version 3.14c1
# PROGRAM INFORMATION
# -------------------
# FormMail.pl Version 3.14c1
BEGIN
{
$DEBUGGING = 1;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 2;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = '';
@referers = qw(sample.com localhost);
@allow_mail_to = qw(license@sample.com @sample.com localhost);
@recipients = ();
%recipient_alias = (
'1' => 'license@sample.com',
'2' => 'translation@sample.com',
'3' => 'hello@sample.com',
);
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = 'ja_JP';
$charset = 'Shift_JIS';
$date_fmt = '%A, %B %d, %Y at %H:%M:%S';
$style = '/css/style_screen_black_slogan.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 1;
$send_confirmation_mail = 1;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: license@sample.com
Subject: 翻訳サポート申し込み
http://www.samplereal.com/about.html#schedule
END_OF_CONFIRMATION
これに追加として、
1 入力フォーム記入漏れがあれば、漏れた部分を赤字で警告を出したい
2 申し込みが完了した時点で「ありがとうございました」等のメッセージを表示したい
3 送信者が送信を完了するとわたし宛にメールと送信者のメアドに「申し込みを受付つけました」等のメッセージを
自動送信したい
ご面倒ですがよろしくお願いいたします。
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
随分前にYhoo知恵袋でこれと同じ質問に回答したと思いますが、
@allow_mail_to = qw(license@sample.com @sample.com localhost);
のところが間違っています。
ここの2つ目の @sample.com の 「 @ 」 を取り除いてください。
他に間違いがなければ、これで500エラーは出ないと思います。
なお、この変数はその名前から推測すると、メール送信先として許可するアドレスまたはドメインを定義するようですから、 sample.com とすれば、1番目の license@sample.com は設定しても意味がありません。
No.5
- 回答日時:
server errorは、Apacheのエラーログを見ると、エラーが発生した行番号が記述されています。
それを見ないとデバッグは凡人には不可能ですね。
凡人で失礼しました。
ありがとうございます。
以下、エラー内容です。
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@sample.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
--------------------------------------------------------------------------------
Apache/1.3.42 Server at www.sample.com Port 80
No.4
- 回答日時:
おそらくこちらのスクリプトを使用しているものと思われます。
http://nms-cgi.sourceforge.net/formmail_compat-3 …
しかしながらこれと比べてみても大幅に変更されていることがわかります。
また、このスクリプトでも肝心のメール送信部分はありません。
ですので、これはもっと大きなシステム化されたもの(NMS Project?)の一部分なのだと思います。
ISPの指示でこのスクリプトを使用しているのであればISPに問い合わせした方がよいでしょう。
もし最初の変更前の状態でエラーが発生しなかったのであれば、いったん初期状態まで戻してそこから少しずつ変更してみてください。
この回答への補足
ご回答ありがとうございます。こちらのスクリプトを使用しております。
すべてのファイルは膨大な量になるので、こちらの2000文字規定内には
収まりません。どうし
たらいいでしょうか?
また「肝心のメール送信部分」とは、どうのような記述になりますか?
そちらの部分のみ、コピペできればと思います。
No.3
- 回答日時:
以下のサイトからPerl Checkerをダウンロードしてテストしてみてください。
http://www.kent-web.com/utility/index.html
その結果を書いていただければありあがたいです。
あとログを表示できるのなら(ISPなら無理の確率が高いですが。。。)/var/log/apache2/error.logを見てみるといいと思います。
この回答への補足
ご回答ありがとうございます。なるほどチェッカーですね。
さっそく試してみます。
結果をコピペしますので、よろしくご教授下されば幸いです。
No.1
- 回答日時:
これがすべてであるならば、「BEGIN {」で始まっているが } がないためエラーになっているということになります。
単純に「BEGIN {」を削除すればエラーは解決しますが、、、
文脈からすれば実際にメールを送信している部分がありませんので、この文の後にも続きがあるのではないでしょうか。
この回答への補足
すいません、コピペした時に抜けてしまったようです。以下、続きの文です。
またかなり全体的にファイル量が多く全てを提示できません。
「実際にメールを送信している部分」とおっしゃるのは、どのような記述でしょうか?
ご面倒おかけしますが、よろしくご指導ください。
# You may need to uncomment the line below and adjust the path.
# use lib './lib';
# USER CUSTOMISATION SECTION
# --------------------------
# Place any custom code here
# USER CUSTOMISATION << END >>
# ----------------------------
# (no user serviceable parts beyond here)
}
#
# The code below consists of module source inlined into this
# script to make it a standalone CGI.
#
# Inlining performed by NMS inline - see /v2/buildtools/inline
# in CVS at http://sourceforge.net/projects/nms-cgi for details.
#
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Gmail 【お助け!】サーバーからのメール送信でGmailに送信されない問題について 1 2023/06/20 22:03
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- WordPress(ワードプレス) ワードプレスのパーマリンク設定について 1 2023/02/11 19:08
- その他(プログラミング・Web制作) 恒久的リダイレクトについて 2 2023/07/13 15:58
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- 格安スマホ・SIMフリースマホ J-COMモバイル新規申込みについて質問です 先日J-COMモバイル新規申込みしました 数日後に発送 0 2023/07/13 16:15
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでoutlook365が起動しません。
-
c#で 簡単なメール(添付ファ...
-
VBAでsmtp認証をするには?
-
server errorで困ってます。
-
添付ファイルをつけてメールを送る
-
メーリングリストへ登録するCGI
-
フォームメール確認画面ありの...
-
例外処理のフローチャートの記...
-
'Range'メソッドは失敗しました
-
Excel VBAでリンク切れをチェッ...
-
標準モジュールを削除したい。(...
-
グラフのX,Y座標を取得したい
-
Cからシェルを起動し返り値をハ...
-
【vba】フォームに書いてあ...
-
VBAで別モジュールへの変数の受...
-
Excel VBAで、ユーザーフォーム...
-
VBA This Workbookモジュール...
-
VBでグローバル変数を宣言するには
-
教えて下さい。
-
ベースモジュールって?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでoutlook365が起動しません。
-
【C言語】メールを送信するプロ...
-
Net::SMTPでメールを送信したい...
-
フォームデータ-の送信時の確認...
-
VBScriptで、メールの送信をし...
-
server errorで困ってます。
-
Exchangeを使用したメール送信...
-
LotusScript メール作成方法が...
-
さくらインターネットでの添付...
-
ウィンドウズ上で動くメールサ...
-
CGI(Perl)からメールを送信する...
-
BASP21使用のメール送信でコマ...
-
CGI(Perl)でメールフォームを作...
-
DreamWeaverCS4でのフォーム作...
-
VBAでsmtp認証をするには?
-
perl 自動返信メールプログラム...
-
ASPでのsendmail(BASP21の使用...
-
リンクをクリックするだけでC...
-
プロキシ経由でjavamailを使っ...
-
javamailでメール送信ができません
おすすめ情報