- - PR -
IIS+ActivePerlのメール送信にて文字化け
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-05-29 10:49
Windows XP Professional + Active Perlにてメール送信を行うとメール本文の文字化けが発生します。どのようにしたら回避できますか?
Perlソースです。 -------------------------------------------- require 'mimew.pl'; require 'jcode.pl'; $requestType = $ENV{"REQUEST_METHOD"}; $cc='aaaa@**.com'; $admin='bbbb@**.com'; if($requestType eq "POST") { if ($ENV{'REQUEST_METHOD'} eq "POST" ) { read(STDIN, $QUERY_DATA , $ENV{'CONTENT_LENGTH'}); @PAIRS = split(/&/,$QUERY_DATA); foreach (@PAIRS) { ($key, $value) = split(/=/, $_); $value =~tr/+/ /; $value =~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; $QUERY{$key} = $value ; } } sendmail(); print "Content-type: text/html\n\n"; print "管理者へメール送信されました。\n\n"; print "\n\n"; } else { print "Content-type: text/html\n\n"; print "POST NG.\n\n"; print "\n\n"; } sub sendmail { use Net::SMTP; $smtp = Net::SMTP->new('cccc.****.com'); # SMTPサーバに接続 $smtp->mail( 'dddd.****.com' ); # ここで送信元のアドレスをセット $smtp->to('****@****.com'); # 送信先のアドレス $smtp->data(); # メール本文の開始 # ヘッダを送信。 #To $smtp->datasend("tc: $QUERY{'email0'}\n"); #Cc $smtp->datasend("cc: $cc\n"); #From $sub=mimeencode("From:\"*ADMIN\"<****@****.com>\n"); $smtp->datasend($sub) ; #Subject $subject=mimeencode("Subject: ユーザー追加($QUERY{'namae0'})\n"); $smtp->datasend("$subject"); $smtp->datasend("Content-Type: text/plain\; charset=\"ISO-2022-JP\"\n"); $smtp->datasend("Content-Transfer-Encoding: 7bit\n"); $smtp->datasend("\n"); # 本文を送信。 data(); &jcode::convert(*mailmess,'jis'); $smtp->datasend($mailmess); $smtp->dataend(); # メールの送信を完了 $smtp->quit; # SMTP接続をクローズ } |
1