weblog of key_amb

主にIT関連の技術メモ

Email::MIMEとEmail::Sender::Simpleを使ってメールをbccに送る

単純にBccヘッダにアドレスを追加しても、所望の機能は達成されない。
Email::Sender::Manualに、どうやってBcc送信をやったらいいか解説がある。

私の場合は次のようにした。

my $email = Email::MIME->create(
    header => [
        From    => $from,
        To      => join(',', @to),
        Subject => $subject,
    ],
    attributes => +{
        content_type => 'text/plain',
        charset      => 'ISO-2022-JP',
        encoding     => '7bit',
    },
    body => $body,
);
# bccが指定されたら個別にメール送信
for my $_bcc (@bcc) {
    sendmail($email, +{ to => $_bcc });
}
# Toにふつうにメール送信
sendmail($email, +{ transport => $transport });