&fmldevel; のメール配送システム &fml4; と &fmldevel; の相違点 &fmldevel; の最大の目的の一つは、メンバーリストの取得操作におけるコー ドの統合と抽象化です。配送には抽象化された Mail::Delivery クラスを次の ように使います。 Mail::Delivery::* に属するクラスは SMTP および LMTP 配送へのインターフェ イスを提供します。 つまり Mail::Delivery は Mail::Delivery 以下の派生クラス SMTP ESMTP LMTP へのインターフェイスを提供するアダプター層です。 例えば次のように使います。 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 オブジェクトです。 <link linkend="module.mail.message"> Mail::Message </link> オブジェクト このオブジェクトはメールを解析し、 header -> body header -> preamble -> part1 -> part2 -> trailor (multipart) のようにオブジェクトが数珠つなぎのようなデータ構造を作ります。 Mail::Message クラスはこのようなデータ構造を操作するメソッドを提供しています。 §.mailqueue; 議論: FML::Mailer は必要か? FML::Process::QueueManager が使っているのみなので 独立したモジュールである必要があるだろうか? reply_message() が何でもしてしまうので、 FML::Mailer を呼ぶことはないかもしれない。 でも、 reply_message() 以外の送信メソッドがあり得るかもしれないね。 将来、どうも使ってないようなら FML::Process::QueueManager に合併するべきかもしれない。 配送に関する TIPS &recipe.delivery.forward;