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

以下のCGIでは$MAILTO に送信されますが、追加的に、申込者に自動返信(文章つき)をするにはどのように修正するのですか。

#! c:/perl/bin/perl

require "jcode.pl";
require "mimew.pl";

$SENDMAIL = 'c:\sendmail\sendmail'; # sendmailのパス
$MAILTO = 'のがわ <nogawa@example.net>'; # メールの宛先

# フォームデータの取得
if($ENV{'REQUEST_METHOD'} eq 'POST') {
read(STDIN, $query, $ENV{'CONTENT_LENGTH'});
}
else {
$query = $ENV{'QUERY_STRING'};
}

# フォームデータの復元
foreach $pair (split(/&/, $query)) {
($key, $value) = split(/=/, $pair);

# 文字のデコード
$value =~ tr/+/ /;
$value =~ s/%([0-9a-fA-F][0-9a-fA-F])/chr(hex($1))/eg;

$FORM{$key} = $value;
}

# MIMEエンコード
$mail_to = mimeencode($MAILTO);
$mail_from = mimeencode($FORM{'name'});
$mail_subject = mimeencode($FORM{'subject'});

# 文字コードの変換
$body = jcode::jis($FORM{'msg'});

# メールヘッダーの生成
$header = <<END;
To: $mail_to
From: $mail_from<$FORM{'email'}>
Subject: $mail_subject
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP

END

# メールの送信
open(MAIL, "| $SENDMAIL -i -t -f $FORM{'email'}")
or die("エラー:sendmailへのパイプが開けません");
print MAIL $header, $body;
close MAIL;

# サーバー出力
print <<END;
Content-type: text/html; charset=Shift_JIS

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head><title>めーるふぉーむ</title></head>
<body>
<p>メールを送信しました。</p>
</body>
</html>
END

A 回答 (1件)

はじめまして。



>申込者に自動返信(文章つき)をするにはどのように修正するのですか。

提示されたソースコードでは「申込者」に該当する部分が見当たらないので、何がしたいのかわかりません。
申し訳ありませんが、具体的に例示していただけませんか。

この回答への補足

申込フォームを記載するのを忘れました。以下です。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head><title>めーるふぉーむ</title></head>
<body>
<h1>メールフォーム</h1>
<form action="./5-4.cgi" method="POST">
名前:<input type="text" name="name"><br>
電子メール:<input type="text" name="email"><br>
題名:<input type="text" name="subject" size="60"><br>
内容:<textarea name="msg" cols="60" rows="6"></textarea><br>
<input type="submit" value="送信する">
<input type="reset" value="リセット">
</form>
</body>
</html>

「申込者」はemailに相当する部分です。よろしく

補足日時:2012/10/21 21:53
    • good
    • 0

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