日本語メール送信

perl-users.jpのメールの送信 - モダンなPerl入門を手本にメール送信してみたらGMailで文字化けしたので添削。(あとでSVNにコミットするかなしました。)


attributesにcharasetを指定して文字化け対策をしたら直った。

#!/usr/local/bin/perl

use strict;
use warnings;
use utf8;
use Encode;
use Email::MIME;
use Email::MIME::Creator;
use Email::Send;

my $mail = Email::MIME->create(
    header => [
        From    => 'from@example.com',
        To      => 'to@example.co.jp',
        Subject => Encode::encode('MIME-Header-ISO_2022_JP', 'コンニチワ'),
    ],
    attributes => { charset => 'iso-2022-jp' },
    parts => [
        encode('iso-2022-jp', '元気でやってるかー?'),
    ],
    );
                                                                                       
my $sender = Email::Send->new({
                 mailer => 'SMTP',
                 mailer_args => [ Host => 'localhost'],
             });
$sender->send($mail);