![]() |
| カレッヂ |
質問者 nakamura
投稿日 2004/4/9(金) 16:37:40
フォームメールで送られてくるメールの件名に現在は "予約申込み" と
入ってくるのですが、その後にフォームで入力された名前・連番・日付けの
どれかひとつを入れたいんです。
よろしくお願いします。
#タイトル欄に入力がない場合のデフォルト値
$subject = "- order -";
#デコード
@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 ($value =~ /\r\n/) { $value =~ s/\r//g; }
elsif ($value =~ /\r/) { $value =~ s/\r/\n/g; }
if ($name eq "location") { $lct = $value; }
elsif ($name eq "c_copy" && $value eq "on") { $cc = "on"; }
elsif ($name eq "no_check" && $value eq "on") { $nocheck = "on"; }
elsif ($name eq "space_check" && $value eq "on") { $spcheck = "on"; }
elsif ($name eq "no_check") { ; }
elsif ($name eq "ref_url") { $ref_url = $value; }
elsif ($name eq "ref_name") { $ref_name = $value; }
elsif ($name eq "subject" && $value ne "") { $subject = $value; }
elsif ($name eq "subject") { ; }
elsif ($name eq "ref_page") { $ref = $value; }
elsif ($name eq "password") {
sub sendmail {
if (!(open(OUT,"| $sendmail -t"))) { &error('システム異常','申し訳ありませんが何らかの原因で処理できません.'); }
print OUT "X-Mailer: webform_rv v4.0 by www.rescue.ne.jp\n";
print OUT "X-HTTP_REFERER: $ref\n";
print OUT "Errors-To: $mailto\n";
print OUT "To: $mailto\n";
print OUT "From: $email\n";
&jis("Subject: $subject"); print OUT "$msg\n";
print OUT "Content-Transfer-Encoding: 7bit\n";
print OUT "Content-Type: text/plain\; charset=\"ISO-2022-JP\"\n\n\n";
&jis("--- ここから ---"); print OUT "$msg\n\n";
$count = @DATA_N;
foreach (0..$count-1) {
if ($DATA_V[$_] =~ /\n/) { &jis("$DATA_N[$_] =\n\n$DATA_V[$_]\n"); print OUT "$msg\n"; }
else { &jis("$DATA_N[$_] = $DATA_V[$_]"); print OUT "$msg\n"; }
}
&jis("--- ここまで ---"); print OUT "\n$msg\n\n";
$host = $ENV{'REMOTE_HOST'};
$addr = $ENV{'REMOTE_ADDR'};
if ($host eq $addr) { $host = gethostbyaddr(pack('C4',split(/\./,$host)),2) || $addr; }
print "Content-type: text/html\n\n";
print "<html><head><title>$title</title></head>\n";
print "$body\n";
print "<H1>送信完了</H1>\n";
print "ご記入されたものは<a href=\"mailto:$mailto\">$mailto</a>宛てに電子メールされました.<br>\n";
print "Thank you for sending comments to $mailto .<p>\n";
if ($ref_url ne '' && $ref_name ne '') { &jcode'convert(*ref_name,'sjis'); print "<h3>[<a href=\"$ref_url\" target=\"_top\">$ref_name</a>]</h3>"; }
print "<p></body></html>\n";
}
exit;
}
sub cc {
print "X-Processed: $date_now\n";
print "X-HTTP_REFERER: $ref\n";
print "X-HTTP-User-Agent: $ENV{'HTTP_USER_AGENT'}\n";
print "X-Remote-host: $host \[$ENV{'REMOTE_ADDR'}\]\n";
print "To: $mailto\n";
print "Subject: $subject\n\n";
プロバイダ参照: |
回答者 sim
[削除]
投稿日 2004/4/9(金) 20:00:54
print OUT "X-Mailer: webform_rv v4.0 by www.rescue.ne.jp\n";
print OUT "X-HTTP_REFERER: $ref\n";
print OUT "Errors-To: $mailto\n";
print OUT "To: $mailto\n";
print OUT "From: $email\n";
&jis("Subject: $subject"); print OUT "$msg\n";
この辺の手前にでも
$subject .= "名前とか";
と入れればよろしいかと思います。
|
質問者 nakamura
[削除]
投稿日 2004/4/10(土) 11:59:11
返事が送れましてすいませんでした。
日付けを入れるようにしました
これでどこまでメールを処理したかが分かるように
なりました。
ありがとうございました
if (!(open(OUT,"| $sendmail -t"))) { &error('システム異常','申し訳ありませんが何らかの原因で処理できません.'); }
print OUT "X-Mailer: webform_rv v4.0 by www.rescue.ne.jp\n";
print OUT "X-HTTP_REFERER: $ref\n";
print OUT "Errors-To: $mailto\n";
print OUT "To: $mailto\n";
print OUT "From: $email\n";
&jis("Subject: $subject$date_now"); print OUT "$msg\n"; |
このページは終了したので返信(回答)は書きこめません
| Web裏技 |