diff options
| author | fukachan <fukachan> | 2002-07-06 14:55:14 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2002-07-06 14:55:14 +0000 |
| commit | fdcca16caee1f2d98f4519fe9bdaf8e079ba2f4c (patch) | |
| tree | dc5434385deac2555f0bef29b4c71eee069edd18 /fml/doc/ja/tutorial/delivery/queue.sgml | |
| parent | 0fef7ae28f858bb5ac669b5c5b4657b3e9063b77 (diff) | |
| download | fml8-fdcca16caee1f2d98f4519fe9bdaf8e079ba2f4c.tar.gz fml8-fdcca16caee1f2d98f4519fe9bdaf8e079ba2f4c.tar.bz2 fml8-fdcca16caee1f2d98f4519fe9bdaf8e079ba2f4c.zip | |
clean up/update
Diffstat (limited to 'fml/doc/ja/tutorial/delivery/queue.sgml')
| -rw-r--r-- | fml/doc/ja/tutorial/delivery/queue.sgml | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/fml/doc/ja/tutorial/delivery/queue.sgml b/fml/doc/ja/tutorial/delivery/queue.sgml new file mode 100644 index 00000000..d7e3a771 --- /dev/null +++ b/fml/doc/ja/tutorial/delivery/queue.sgml @@ -0,0 +1,120 @@ +<!-- + $FML: reply.sgml,v 1.2 2002/04/01 23:41:04 fukachan Exp $ +--> + +<sect1 id="message.reply"> + <TITLE> + fml からメールで返事を送り返す + </TITLE> + +<para> +送り返すべきメールは +Mail::Delivery::Queue +を使い queue に入れます。 +queue に入ったメールは、のちに +FML::Process::QueueManager +クラスが(配送)処理をします。 +</para> + + +<sect2> + <title> + fml の中でどうするか? + </title> + +<para> +あるメッセージを送り返したい場合は、次のようにします。 +<screen> +$curproc->reply_message( "you are not a ML member." ); +</screen> +この場合の受信者はコマンドの結果などを受けとる人、 +fml にリクエストをした人です。 +</para> + + +<para> +ファイルを送りたい場合や画像を送りたい場合は次のようにします。 +<screen> +$curproc->reply_message( { + type => "text/plain; charset=iso-2022-jp", + path => "/etc/fml/main.cf", + filename => "main.cf", + disposition => "main.cf example", + }); + +$curproc->reply_message( { + type => "image/gif", + path => "/some/where/logo001.gif", + filename => "logo.gif", + disposition => "attachment", + }); +</screen> +</para> + +</sect2> +</sect1> + + +<sect1 id="message.queue"> + <TITLE> + mail queue と配送の仕組み + </TITLE> + +<para> +FML::Process::QueueManager により +queue ファイルが queue ディレクトリから pickup され、 +Mail::Message で parse され、 +FML::Mailer 経由で +Mail::Delivery が実際にメール配送処理をします。 +<screen> +Mail::Delivery::Queue + ↓ + ↓→→→ キューディレクトリ + ↓ +FML::Process::QueueManager + ↓ + ↓←←← キューディレクトリ + ↓ +FML::Mailer + ↓ +Mail::Delivery +</screen> +</para> + +</sect1> + + +<sect1> + <TITLE> + mail queue ディレクトリ + </TITLE> + +<para> +queue ディレクトリは複数のディレクトリからなります。 +<screen> +new/ +active/ +deferred/ +info/sender/ +info/recipients/ +</screen> +info/ には envelope 情報が格納されます。 +</para> + +<para> +queue ファイルを作る時は、一旦 new/ に作成されます。 +queue ファイルを作る作業が終了し、配送準備 OK となったら +new/ から active/ に移動されます。 +つまり active/ にあるファイルは配送準備ができているものです。 +</para> + +<sect2> + <title> queue ディレクトリをロックする </title> +<para> +特定の $queue_id object ごとに lock() と unlock() メソッドを使い、 +ロックをかけます。 +ロックは active/$queue_id ファイルに対しての flock(2) システムコールです。 +</para> +</sect2> + +</sect1> |
