MailTools と Net::SMTP は、テキストだけのメールを作成する。
MIME-Tools は、テキストと添付ファイルを持つ、メールを作成できる。
MIME エンコードされたメッセージを解析して添付ファイルを抽出したり、
添付ファイルを追加または削除したり、変更したメッセージを再送できる。
・インストール
[root]# cpan MIME::Tools
・プログラム
テキストとオーディオ添付ファイルを送信
#!/usr/bin/perl
###################################
# MIME-Tools(日本語文字化け回避)
###################################
use strict;
use warnings;
use MIME::Entity;
use Encode qw( decode encode );
# ヘッダ
my $me_obj = MIME::Entity->build(
Type => 'multipart/mixed', # まとめられた無関係な情報
From => 'foo@example.com',
To => 'bar@example.com',
Subject =>
encode( 'MIME-Header-ISO_2022_JP', decode('utf8', '件名') ),
);
# 本文を追加
my $message = <<"EOD";
本文
本文
EOD
# Type => 'text/plain; charset=utf-8;', Encoding => '8bit', で文字化け回避
$me_obj->attach(
Type => 'text/plain; charset=utf-8;',
Encoding => '8bit',
Data => $message,
);
# オーディオファイルを追加
$me_obj->attach(
Type => 'audio/mpeg', # mp3
Encoding => 'base64',
Description => 'mp3 file',
Path => '/path/to/xxx.mp3',
);
# メール送信
$me_obj->smtpsend();