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 });