※ ChatGPTを利用し、要約された質問です(原文:自動返信について)
自動返信について
以下の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
補足
申込フォームを記載するのを忘れました。以下です。 <!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に相当する部分です。よろしく