[ create a new paste ] login | about

Link: http://codepad.org/JtqfTHDb    [ raw code | fork ]

Perl, pasted on Feb 20:
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$+!<?


Create a new paste based on this one


Comments: