fml8 におけるメールキューと配送の仕組み

FML::Process::QueueManager により (1) 特定のキューファイルがメールキューディレクトリから pickup され、 (2) Mail::Message で parse され、 (3) 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/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>.