Chapter 35. fml8 のメール配送システム

Table of Contents
fml4 と fml8 の相違点
Mail::Message オブジェクト
fml8 がメールを読みこむ際のキューイング
fml8 からメールで返事を送り返す
fml8 におけるメールキューと配送の仕組み
メールキューディレクトリ
キュー管理システム
議論: FML::Mailer は必要か?
配送に関する TIPS

fml4 と fml8 の相違点

fml8 最大の目的の一つは、メンバーリストの取得操作におけるコードの 統合と抽象化です。

配送システムも抽象化された IO 層を利用して配送先の情報を取得しています。

配送には抽象化された Mail::Delivery クラスを次のように使っています。

Mail::Delivery::* に属するクラスは SMTP および LMTP 配送へのインターフェ イスを提供します。 つまり Mail::Delivery は Mail::Delivery 以下の派生クラス SMTP、ESMTP へのインターフェイスを提供するアダプター層です。

たとえば次のように使います。

    use Mail::Delivery::SMTP;
    my $service = new Mail::Delivery::SMTP;
    if ($service->error) { Log($service->error); return;}

    $service->deliver(
                      {
                          mta             => '127.0.0.1:25',

                          smtp_sender     => 'rudo@nuinui.net',
                          recipient_maps  => $recipient_maps,
                          recipient_limit => 1000,

                          mesage          => $message
                      });
ここで $message は Mail::Message オブジェクトです。

fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml8/.
fml 4.0 project homepage is www.fml.org/software/fml4/.
about one floppy bsd routers, see www.bsdrouter.org/.
other free softwares are found at www.fml.org/software/.

author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.

For questions about FML, e-mail <fml-bugs@fml.org>.