Perl でメール送信(MIME-Tools)

MIME-Tools

    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
$message = encode( 'ISO-2022-JP', decode( 'utf8', $message ) );

$me_obj->attach(
                Type     => 'text/plain',
                Encoding => 'quoted-printable',
                Data     => $message,
               );

# オーディオファイルを追加
$me_obj->attach(
                Type        => 'audio/mpeg',  # mp3
                Encoding    => 'base64',
                Description => 'mp3 file',
                Path        => "~/xxx.mp3",
               );

# メール送信
$me_obj->smtpsend();