最近のCPANモジュールを使ったメール送信
perl-users でEmail::Send 使えばいいよって書いてたので、Email::Sendを使ってたんですが、ふとperldoc Email::Send みてたら
Email::Send is going away... (略)
As of today, 2008-12-19, Email::Sender is young, but it's fairly well-tested. Please consider using it instead for any new work.
と書いてるのでEmail::Sender 使おう。
- perldoc Email::Sender::Simple
- perldoc Email::Sender::Manual
- perldoc Email::Sender::Manual::QuickStart
あたりを読んでいって、こうなる。
(というかE::S::M::QuickStart のperldocまんま)
sendmail($email) だけだとenvelope-from が指定されないので、明示的にenvelope-from を指定する場合はハッシュでfrom アドレスを渡す。
use strict; use Email::Sender::Simple qw(sendmail); use Email::Simple; use Email::Simple::Creator; my $email = Email::Simple->create( header => [ To => '"Xavier Q. Ample" <x.ample@example.com>', From => '"Bob Fishman" <orz@example.mil>', Subject => "don't forget to *enjoy the sauce*", ], body => "This message is short, but at least it's cheap.\n", ); my $sender = 'sender@example.com'; sendmail($email, { from => $sender} );
追記
install してわかったけど、Email::Sender はMoose 使っているので、ちょっとしたmail送りたいだけなら大げさかなーとも思った。まぁ初めにcpanm Email::Sender するだけなので良いんですが。