use strict;
use warnings;
use utf8;
use Encode;
use Email::MIME::Creator;
# さらに適切なヘッダが入るように修正
my $mail_a = Email::MIME->create(
header => [
From => 'from@example.com',
To => 'to@example.com',
Subject => Encode::encode('MIME-Header-ISO_2022_JP', 'コンニチワ'),
],
attributes => {
charset => 'ISO-2022-JP',
encoding => '7bit',
},
body_str => '元気でやってるかー?'
);
# @punytanの修正版
my $mail_b = Email::MIME->create(
header => [
From => 'from@example.com',
To => 'to@example.com',
Subject => Encode::encode('MIME-Header-ISO_2022_JP', 'コンニチワ'),
],
body => encode('iso-2022-jp', '元気でやってるかー?'),
);
# 元々のバージョン
my $mail_c = Email::MIME->create(
header => [
From => 'from@example.com',
To => 'to@example.com',
Subject => Encode::encode('MIME-Header-ISO_2022_JP', 'コンニチワ'),
],
parts => [
encode('iso-2022-jp', '元気でやってるかー?'),
],
);
print $mail_a->as_string, "\n";
print "-" x 50, "\n";
print $mail_b->as_string, "\n";
print "-" x 50, "\n";
print $mail_c->as_string, "\n";
__END__
From: from@example.com
To: to@example.com
Subject: =?ISO-2022-JP?B?GyRCJTMlcyVLJUElbxsoQg==?=
Date: Sat, 20 Feb 2010 02:25:21 +0900
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-2022-JP"
Content-Transfer-Encoding: 7bit
855$$G$d$C$F$k$+!<?
--------------------------------------------------
From: from@example.com
To: to@example.com
Subject: =?ISO-2022-JP?B?GyRCJTMlcyVLJUElbxsoQg==?=
Date: Sat, 20 Feb 2010 02:25:21 +0900
MIME-Version: 1.0
855$$G$d$C$F$k$+!<?
--------------------------------------------------
From: from@example.com
To: to@example.com
Subject: =?ISO-2022-JP?B?GyRCJTMlcyVLJUElbxsoQg==?=
Date: Sat, 20 Feb 2010 02:25:21 +0900
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"
855$$G$d$C$F$k$+!<?