こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

送受信が出来ないメールフォーム

メールフォームの送信ボタンを押すと
Internal Server Errorの画面になり、送受信が出来ません。
jcode.plとcgi-lib.plは書き直していません。
多分form.cgiの書き方が何か違うのだと思います。

下記がform.cgiの中身です。

#!/usr/bin/perl

require 'cgi-lib.pl';
require 'jcode.pl';

&ReadParse(*formdata);

$subject = "$formdata{'subject'}";
$name = "$formdata{'name'}";
$email = "$formdata{'email'}";
$email = "$formdata{'dayl'}"
$12 = "$formdata{'12'}";
$13 = "$formdata{'13'}";
$to = '△@yahoo.co.jp';
$subject = 'メール';

&jcode'convert(*subject,'jis');

open(MAIL, "| /usr/sbin/sendmail -t");
print MAIL "To: $to\n";
print MAIL "From: $email\n";
print MAIL "Content-Type: text/plain;\n\n";
print MAIL "件名:\n$subject\n\nお名前:\n$name\n\nメールアドレス:\n$email\n\n生年月日:\n$day\n\n資料:\n$12\n\n担当者名:\n$13\n\nご相談内容:\n$message\n";
close(MAIL);

print "Location: http://△.sakura.ne.jp/12.html\n\n";

exit;

初心者にも分かる様にどなたかご教授をお願いします。
print "Location: http://△.sakura.ne.jp/12.html\n\n";
部分の12.htmlは送信後に表示するページです。

投稿日時 - 2008-06-23 00:42:38

QNo.4121946

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

$email = "$formdata{'dayl'}"  の行末にセミコロンがありません。

のでエラーに1票!

なお、数字で始まる変数名は作れません。(特殊な意味がある変数です)

投稿日時 - 2008-06-23 02:54:02

補足

分かりやすい回答を有難うございます。
今から指摘された箇所を直して試してみます。
数字の変数名が使えないのも知りませんでした。

投稿日時 - 2008-06-23 02:58:13

お礼

お陰で送信後のページも表示され、
メールの送受信は出来る様になりました。
ただ、受信メールを見ると入力した言葉が抜けてしまっています。
例えば件名に書いた「問い合わせ」という言葉は
文字化けし、名前やメールアドレスも記入したのに空白です。
件名:
$B%a!<%k$G$9(B
お名前:
メールアドレス:
生年月日:
資料:
担当者名:
ご相談内容:

投稿日時 - 2008-06-23 03:33:46

あなたにオススメの質問