mail queue と配送の仕組み

FML::Process::QueueManager により 特定の queue ファイルが queue ディレクトリから pickup され、 Mail::Message で parse され、 FML::Mailer 経由で Mail::Delivery が実際にメール配送処理をします。

Mail::Delivery::Queue
   ↓
   ↓→→→ キューディレクトリ
   ↓
FML::Process::QueueManager
   ↓
   ↓←←← キューディレクトリ
   ↓
FML::Mailer
   ↓
Mail::Delivery

キューを操作する際には、対象のキューを flock(2) します。ロックを他の ATOMIC 操作を使って実装してもよいのですが、 操作途中に OS が逝ってしまうケースを想定すると、 やはり flock(2) を使うべきでしょう。

fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml-devel/.
fml 4.0 project homepage is www.fml.org/fml/menu.ja.html.
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>.