Mail::Sendmail

メールをデータベースで管理とか思いだすと送信、受信までHackしたくなるもので、受信済みを加工したり、受信しようというものははわりとたくさんあるのですが送信のモジュールはなかなかないのです。あるにはあるのですがsendmailを使っているものが多く、Winな私は「sendmailがねーよ」って怒られるんですが、独立して使えるものはないかとCPANで探すと結構多々出てきました。とりあえず一番簡単に使えるこのMail::Sendmailを。

use Mail::Sendmail;

$Mail::Sendmail::mailcfg{smtp} = [qw(localhost my.other.mail.server)]

%mail = ( To      => 'you@there.com',
            From    => 'me@here.com',
            Message => "This is a very short message"
           );

sendmail(%mail) or die $Mail::Sendmail::error;

print "OK. Log says:\n", $Mail::Sendmail::log;

ドキュメントの丸写し+ちょっと加工で申し訳ないんですがほんとにこれだけでメールが送れてしまいます。smtpサーバの設定部分ですが$Mail::Sendmail::mailcfg{smtp}でもいいのですが$main::mail{smtp}でもいいみたいです。