とりあえず、汎用のメール送信CGIでもつくっとこかな、と思って作りました。 かなり汎用性を持たせてあるので、各種アンケートなどにもそのまま使えます。
ページ下部のアンケートも、この mailto.cgi を使ってます。
#!/bin/perl require './jcode.pl'; $MAIL_TO = "xxx\@xxx.example.com"; $MAIL_FROM = "xxx\@xxx.example.com"; $addr = $ENV{'REMOTE_ADDR'}; $host = $ENV{'REMOTE_HOST'}; if (($host eq "") || ($host eq $addr)) { $ENV{'REMOTE_HOST'} = gethostbyaddr(pack("C4", split(/\./, $addr)), 2); } foreach $env (keys %ENV){ $log_all .= "$env = $ENV{$env}\n"; } $log_all .= "\n"; # PARSE INPUT if ($ENV{'REQUEST_METHOD'} eq "POST"){ read(STDIN, $buf, $ENV{'CONTENT_LENGTH'}); } else { $buf = $ENV{'QUERY_STRING'}; } @pairs = split(/&/, $buf); foreach $pair (@pairs){ ($key, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; &jcode'convert(*value, 'jis'); $ARG{$key} = $value; push(@ARG_LIST, $key); } $content = <<"CONTENT"; REMOTE_HOST: $ENV{'REMOTE_HOST'} REMOTE_ADDR: $ENV{'REMOTE_ADDR'} HTTP_ACCEPT: $ENV{'HTTP_ACCEPT'} HTTP_USER_AGENT: $ENV{'HTTP_USRE_AGENT'} HTTP_REFERER: $ENV{'HTTP_REFERER'} CONTENT foreach $item (@ARG_LIST){ $content .= "$item: $ARG{$item}\n"; } use Mail::Sendmail; $mail{'Sender'} = $MAIL_FROM; $mail{'Subject'} = $ARG{'Subject'} if ($ARG{'Subject'}); $mail{'To'} = $MAIL_TO; $mail{'Body'} = $content; $mail{'Content-type'} = "text/plain; charset=ISO-2022-JP"; sendmail(%mail); $content =~ s/\n/
\n/g; print "Location: $ENV{'HTTP_REFERER'}\n\n";
リンクは歓迎です。断りなく、自由に行っていただいてかまいません。