MacにEmail::Sendを入れようとして、いろいろ難儀したのでメモ
Email::Sendを入れる前に、CPANのアップデートをする
sudo cpan Bundle::CPAN
Email::Abstractが必要(自動的に依存関係を解決してくれない?)
- Email::Abstractがこける
- MIME::Entityが必要(自動的に依存関係を解決してくれない?)
- MIME::Entityを入れる
- Email::Abstractを入れる
- Test::Podも必要だと思う
で、入ったことは入ったのだが、入らないMacもあって、 Perlのバージョンが5.9.9以上じゃないと入らないっぽい。 なので、5.10には入った。5.8.8には入らなかった。
それじゃ意味なし!ってことで、オルタナティブのEmail::Senderをためした。 こちらは、5.8にも入りました。
use strict;
use Encode 'encode';
use utf8;
use Email::Sender::Simple 'sendmail';
use Email::MIME;
use Email::Sender::Transport::SMTP;
my $body = 'email body text here.';
my $email = Email::MIME->create(
header => [
From => encode('MIME-Header-ISO_2022_JP' => '"From Me" <from@me.com>'),
To => encode('MIME-Header-ISO_2022_JP' => '"To You" <to@you.com>'),
Subject => encode('MIME-Header-ISO_2022_JP' => 'IP address Updated'),
],
attributes => {
content_type => 'text/plain',
charset => 'ISO-2022-JP',
encoding => '7bit',
},
body => encode('iso-2022-jp' => 'New ip address here: '.$ip),
);
my $transport = Email::Sender::Transport::SMTP->new(
host => 'me.com',
port => 587,
);
sendmail($email, { transport => $transport });
