メールを送る (module)Mail-Sendmail

back
システム上の sendmail コマンドや mail コマンドが使えるなら、それはそれでもいいけど。
また、Net::SMTP は、SMTP がわからないと使いにくい。

メールを送るモジュールはいろいろあるけど、この辺が手っ取り早いかな。

----
use Mail::Sendmail;

%mail = ( To => 'zaki@localhost',
          From => 'zaki@localhost',
          Message => 'mail body :)'
        );

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

print "send mail successed (", $Mail::Sendmail::log, ")\n";
----

localhost(127.0.0.1)の port 25 への送信であれば、これだけで OK
リモートサーバへの送信であれば、sendmail の引数のハッシュのキーに

Smtp => 'smtp.example.org',
Port => 10025,

等を追加する。

複数の MTA を指定する場合は、サーバリストをリファレンスで指定すれば
送信が可能ないずれかの MTA に対して送信する。

Smtp => ["smtp1.example.org", "smtp2.example.org", ...]

back