カレッヂ |
質問者 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裏技 |