summaryrefslogtreecommitdiff
path: root/fml/doc/ja/tutorial/delivery/queue.sgml
diff options
context:
space:
mode:
authorfukachan <fukachan>2002-07-06 14:55:14 +0000
committerfukachan <fukachan>2002-07-06 14:55:14 +0000
commitfdcca16caee1f2d98f4519fe9bdaf8e079ba2f4c (patch)
treedc5434385deac2555f0bef29b4c71eee069edd18 /fml/doc/ja/tutorial/delivery/queue.sgml
parent0fef7ae28f858bb5ac669b5c5b4657b3e9063b77 (diff)
downloadfml8-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.sgml120
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>