- PR -

IIS+ActivePerlのメール送信にて文字化け

1
投稿者投稿内容
れっどきんき
常連さん
会議室デビュー日: 2004/03/11
投稿数: 33
投稿日時: 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

スキルアップ/キャリアアップ(JOB@IT)