※ ChatGPTを利用し、要約された質問です(原文:ホームページから意見を送るsendmailのcgiスクリプト)
ホームページから意見を送るsendmailのcgiスクリプト
このQ&Aのポイント
ホームページから意見を送る際に問題が発生しているsendmailのcgiスクリプトについて
特定の条件下で送信したURLのみを含むメールが空メールになってしまう現象が発生している
sendmailのcgiスクリプトで送信するメールの内容をiso-2022-jpで指定し、HTMLビューも提供している
ホームページから意見を送るsendmailのcgiスクリプト
表題のようなスクリプトを使っているのですが、
普通は特に問題ないのですが、「http://」などから始まる
URLのみを書き込んで送ると、空メール(何も記載されない)となって
届いてしまいます。どこがおかしいのかわかりません。
以下のようなスクリプトです。
@pairs = split(/&/,$buffer);
foreach $pair (@pairs) {
($name,$value) = split(/=/,$pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
&jcode'convert(*name,'sjis');
&jcode'convert(*value,'sjis');
if ($name eq 'to') { $to = $value; }
if ($name eq 'from') { $from = $value; }
if ($name eq 'subject') { $subject = $value; }
if ($name eq 'body') { $body = $value; }
}
# cheack
if ($from eq "") { $from = "unknown\@."; }
if ($from eq " ") { $from = "unknown\@."; }
# send mail
&jcode'convert(*from,'jis');
&jcode'convert(*subject,'jis');
&jcode'convert(*body,'jis');
if (!(open(MAIL,"| $sendmail -t"))) { &error('システムエラー','メールの送信に失敗しました。'); }
print MAIL "To: $to\n";
print MAIL "From: $from\n";
print MAIL "Subject: $subject\n";
print MAIL "Content-Type: text/plain; charset=iso-2022-jp\n";
print MAIL "$body\n";
close(MAIL);
# view html
&jcode'convert(*from,'sjis');
&jcode'convert(*subject,'sjis');
&jcode'convert(*body,'sjis');
$body =~ s/\r\n/\r/g;
$body =~ s/\n/\r/g;
$body =~ s/\r/<BR>/g;
お礼
"Content-Type: text/plain; charset=iso-2022-jp\n"; に改行を加える事で解決しました。 どうも有り難う御座います。