[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

メールキューディレクトリ

キューディレクトリは次のように複数のディレクトリからなります。

new/
active/
incoming/
deferred/
info/sender/
info/recipients/
info/transport/
isolated/
info/ には envelope 情報が格納されます。 isolated/ は隔離された不正なメール(ほぼ 100 % SPAM)置場です。 また incoming/ は incoming queue ですが、 それ以外のディレクトリは outgoing 用です。

outgoing の キューファイルを作る時は、一旦 new/ に作成します。 キューファイルを作る作業が終了し、 配送準備 OK となったら new/ から active/ に移動されます。 つまり active/ にあるファイルは配送準備ができているものです。

処理の途中でエラーが起こったら、new/ に残骸が残ります。 定期的にゴミは消すようにしていますが、しばらくは残るわけです。 そのあいだは救出するチャンスともいえますね。

queue ディレクトリをロックする

特定の $queue_id object ごとに lock() と unlock() メソッドを使い、 ロックをかけます。 ロックは active/$queue_id ファイルに対しての flock(2) システムコールです。

[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >