[root]# cpan Mail::Internet
・プログラム
#!/usr/bin/perl
##################################
# MailTools(日本語文字化け回避)
##################################
use strict;
use warnings;
use Mail::Header;
use Mail::Internet;
use Encode qw( decode encode );
# ヘッダー
my $hd_obj = Mail::Header->new();
$hd_obj->add( From => 'foo@example.com' );
$hd_obj->add( To => 'bar@example.com' );
#$hd_obj->add( Cc => '' );
$hd_obj->add(
Subject => encode( 'MIME-Header-ISO_2022_JP', decode( 'utf8', '件名' ) )
);
# 'Content-Type' => 'text/plain; charset=utf8;' で文字化け回避
$hd_obj->add( 'Content-Type' => 'text/plain; charset=utf8;' );
$hd_obj->add( 'Content-Transfer-Encoding' => '8bit' );
# 文字列として、ヘッダを返す
# my $hd_str = $hd_obj->as_string;
# say $hd_str;
# 本文
my $message = <<"EOD";
本文
本文
EOD
# Mail::Internet オブジェクト作成
my $mi_obj = Mail::Internet->new(
Header => $hd_obj,
Body => [$message],
Modify => 1, # 一部メーラ向け、ヘッダ再構成
);
# 文字列として、メッセージ(ヘッダ + 本文)を返す
# my $mi_str = $mi_obj->as_string;
# say $mi_str;
# メール送信
$mi_obj->smtpsend();