1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
<!--
$FML: chapter.sgml,v 1.3 2005/09/25 04:27:17 fukachan Exp $
$jaFML: chapter.sgml,v 1.12 2003/04/15 14:51:37 fukachan Exp $
-->
<chapter id="delivery">
<TITLE>
&fml8; Mail Delivery System
</TITLE>
<sect1 id="fml8-delivery">
<title>
The Difference Between &fml4; And &fml8;
</title>
<para>
One of purposes of &fml8; is unification and abstraction of member
list operations. Mail distribution is based on the following module
Mail::Delivery.
</para>
<para>
Mail::Delivery class provides SMTP, ESMTP and LMTP delivery library
interface. Mail::Delivery is an adapter layer for Mail::Delivery
subclass ( SMTP ESMTP LMTP ).
</para>
<para>
For example,
<screen>
use Mail::Delivery::SMTP;
my $service = new Mail::Delivery::SMTP;
if ($service->error) { Log($service->error); return;}
$service->deliver(
{
mta => '127.0.0.1:25',
smtp_sender => 'rudo@nuinui.net',
recipient_maps => $recipient_maps,
recipient_limit => 1000,
mesage => $message
});
</screen>
where $message is a
<link linkend="module.mail.message">
Mail::Message
</link>
object.
</para>
</sect1>
<sect1>
<title>
<link linkend="module.mail.message">
Mail::Message
</link>
Object
</title>
<para>
This object provies message analyzer.
It analyzes a message and build the following object chains on memory.
<screen>
header -> body
header -> preamble -> part1 -> part2 -> trailor (multipart)
</screen>
</para>
<para>
<link linkend="module.mail.message">
Mail::Message
</link>
class provides such data structure described above.
</para>
</sect1>
<!-- mail queue -->
§.mailqueue;
<sect1 id="delivery.qmgr">
<title>
Queue Management System
</title>
<para>
Since 2004 summer, delivery system of &fml8; is under queue management
system like MTA. Now fml8 can deliver again messages by itself.
</para>
</sect1>
<sect1>
<title>
Discussion: FML::Mailer Is Apropriate ?
</title>
<para>
Only FML::Process::QueueManager uses FML::Mailer.
So, independent FML::Mailer class is needed ?
</para>
<para>
In usual codes, reply_message() handles all message operations.
FML::Mailer is always behind it.
But modules other than reply_message() is created in the future ?
Hmm, ...
</para>
<para>
FML::Mailer should be merged into FML::Process::QueueManager class?
</para>
</sect1>
<sect1 id="recipes.delivery">
<title>
Delivery TIPS
</title>
<qandaset>
&recipes.delivery;
</qandaset>
</sect1>
</chapter>
|