File: README.EXIM.hu

package info (click to toggle)
mailman 1%3A2.1.13-5
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 33,156 kB
  • ctags: 3,451
  • sloc: python: 22,833; perl: 1,204; makefile: 1,062; sh: 835; ansic: 319
file content (359 lines) | stat: -rw-r--r-- 14,419 bytes parent folder | download | duplicates (11)
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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
Az Exim s a Mailman egytt
===========================

[Ez a fjl Nigel Metheringhamz "HOGYANIS - Az Exim s a Mailman egytt"
 dokumentcijnak egy kivonata, amelyben a 2.0.x verzij Mailman-rl
 s a 3-as verzij Exim-rl lehet olvasni. A frisstett dokumentciban
 a 2.1-es Mailman s 4-es Exim sszekapcsolsrl is lehet olvasni. Az
 eredeti dokumentcit az albbi cmen lehet olvasni:
 http://www.exim.org/howto/mailman.html ]


Mailman belltsa
------------------

A Mailman-t nem kell a hagyomnyostl eltr mdon belltani, mint ahogy
az a Mailman teleptsi dokumentcijban le van rva. Mindssze a
mailman uid/gid rtkeit kell az Exim konfigurcijnak megfelel helyein
megadni.
   
Exim belltsa
---------------

Az Exim belltsval a Mailman-ben ltrehozott listk automatikusan,
tovbbi bejegyzsek nlkl megjelennek s hasznlhatak lesznek.

Ennek a belltsnak a htrnya az, hogy gyenge teljestmnnyel mkdik 
olyan rendszereken, amelyek tbb klnbz levelez tartomny listit 
szolgljk ki. Igaz, hogy a Mailman kpes kezelni virtulis tartomnyok 
kezelsre, de egyelre nem kpes kezelni ugyanaz a teleptett Mailman 
azonos nvvel, de eltr tartomnyban tallhat listkat. Ez a jvben 
vltozni fog. (Lejjebb klnbz vltozatokrl lehet olvasni, amelyekkel 
a virtulis tartomnyokat lehet megfelelen kiszolglni.)
      
A ksbb bemutatott konfigurcis llomny rszleteket azon mr mkd Exim
konfigurcis rszbe kell elhelyezni, amely azon tartomny levelezsrt
felels, ahol a lista mkdik.  Ha ez a tartomny eltr az Eximben megadott 
tartomnyoktl, akkor a kvetkezket kell tenni:

  * adjuk hozz a local_domains-hez a lista tartomnyt, 
    pl. sajat.listam.domain

  * adjuk a "domains=sajat.listam.domain" belltst a lista tirnyt
    (director) rszhez

  * (ha szksges) a tbbi tirnytnl vegyk fel ezt a tartomnyt a
    figyelmen kvl hagyand tartomnyok kz.

[Megjegyzs: a lersban tallhat belltsok mind 3-as, mind 4-es Eximhez
egyarnt hasznlhatak. 3-as Eximnl 'local_domains' belltsra van
szksgnk, mg a 4-es verziban tbbnyire a 'local_domains'-ben megadott
tartomnylistra. Ha nem gy hasznljuk az Eximet, akkor valsznleg 
alapos Exim belltsi ismeretekkel rendelkeznk, gy nem lesz nehz
mdostani a ksbb ismertetett belltsokat. 4-es Eximben az tirnytk
(directors) rsz megsznt, szerept a routers rsz vette t, gy ha 4-es
Eximet hasznlunk, akkor mindenhol ahol a dokumentci tirnytt emlt
mi routert rtsnk.]

Fggetlenl attl, hogy melyik Exim verzit hasznljuk az Exim konfigurcis
llomnynak ltalnos belltsok rszbe nhny vltozz kell megadnunk.
Tovbb egy j tovbbt rszt is ltre kell majd hoznunk. 3-as Eximnl
egy j tirnyt, mg a 4-es verziban egy j router tlti be majd
ugyanazt a szerepet.

Vgl pedig rdemes tudni, hogy ezekkel a belltsokkal ugyanazon a
gpen egyms mellett mkdhet a Mailman 2.0-s s 2.1-es verzija is.
Ekkor "mailman" helyett hivatkozhatunk "mm21" nvvel a msik, jabb
verzira, pl. MM21_HOME, mm21_transport, stb.


ltalnos belltsok
~~~~~~~~~~~~~~~~~~~~~

Elszr is ez Exim konfigurcis llomnynak elejhez adjuk a kvetkez
vltozkat. A vltozk segtsgvel egyszerbben kezelhetek a ksbb
megadott tirnyt s router belltsok. Termszetesen a sajt 
rendszernk szerint mdostsuk a megadott rtkeket.

  # A teleptett Mailman 'home' knyvtra
  MAILMAN_HOME=/usr/local/mailman
  MAILMAN_WRAP=MAILMAN_HOME/mail/mailman

  # Mailman felhasznl s csoport azonostja, egyeznie kell a Mailman
  # belltsakor hasznlt --with-mail-gid kapcsolnl megadott rtkkel
  MAILMAN_UID=mailman
  MAILMAN_GID=mailman


Transport rsz Exim 3-hoz
~~~~~~~~~~~~~~~~~~~~~~~~~
    
Az Exim konfigurcis llomnynak transports fejezethez adjuk a kvetkez
sorokat, kb. az els s msodik "end" tartalm sor kz kell beszrni a
kvetkezket:

  mailman_transport:
    driver = pipe
    command = MAILMAN_WRAP \
              '${if def:local_part_suffix \
                    {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
                    {post}}' \
              $local_part
    current_directory = MAILMAN_HOME
    home_directory = MAILMAN_HOME
    user = MAILMAN_USER
    group = MAILMAN_GROUP


tirnyt rsz Exim 3-hoz
~~~~~~~~~~~~~~~~~~~~~~~~~~

Ha 3-as Eximet hasznlunk, akkor a konfigurcis llomny tirnyt 
rszhez a kvetkezket kell adni (az tirnytk a msodik s harmadik
"end" tartalm sor kztt tallhatak). Fontos, hogy itt szmt a sorrend
-- pl. ha ezt az irnytt az aliasllomny tirnytjra val hivatkozs
el tesszk, akkor a Mailman bejegyzsei (aliases) a rendszer bejegyzseknl 
magasabb rvnyek lesznek.

  # A listhoz tartoz sszes cmet kezeli ez a rsz.
  # Automatikusan azonostja a listkat a MAILMAN_HOME knyvtrban
  # tallhat lists/$local_part/config.pck llomnyok alapjn.
  mailman_director:
    driver = smartuser
    require_files = MAILMAN_HOME/lists/$local_part/config.pck
    suffix_optional
    suffix = -bounces : -bounces+* : \
             -confirm+* : -join : -leave : \
             -owner : -request : -admin
    transport = mailman_transport


Router rsz Exim 4-hez
~~~~~~~~~~~~~~~~~~~~~~

4-es Eximben az tirnytk helyett routereket kell hasznlni. Ezen tl a 
konfigurcis llomny felptse is megvltozott -- ABC sorrendet hasznl,
gy itt a router rsz a transport rsz el kerl. Tegyk a router belltst
a router rszbe, amely a "begin routers" sor utn kezddik. El ne felejtsk,
hogy a megadott sorrend itt mg inkbb szmt.

  mailman_router:
    driver = accept
    require_files = MAILMAN_HOME/lists/$local_part/config.pck
    local_part_suffix_optional
    local_part_suffix = -bounces : -bounces+* : \
                        -confirm+* : -join : -leave : \
                        -owner : -request : -admin
    transport = mailman_transport


Transport rsz Exim 4-hez
~~~~~~~~~~~~~~~~~~~~~~~~~

A 4-es Eximhez hasznlhatjuk a 3-as Eximben megadott transport bejegyzst,
nyugodtan msoljuk be valahova a "begin transports" sor utn a 3-as Eximnl
ismertetett belltsokat.


Megjegyzs
~~~~~~~~~~

Az Exim-et gy kell belltani, hogy a kzbests elfogadhat mrtk
legyen - pl. a max_recipients ne valami nagyon kis rtk legyen, s a
biztonsgi belltsok is rtelmes szintet eredmnyezzenek - pl. 127.0.0.1
cmrl (evidensen) engedlyezett a relaying, de mshonnan nagyon nem.
Prhuzamos kldsi mdot is be lehet lltani. A kzbestsek id-
tllpsre figyelmeztet zeneteket legalbb a listkhoz kapcsold
cmeknl kapcsoljuk ki, ha nem szeretnnk nagyon sok ilyen zenetet
kapni, amikor a cmzett gp nem rhet el.
   

Problmk
~~~~~~~~~

  * A Mailman annyi MAIL FROM/RCPT TO hvst hasznl, amennyi szksges.
    Ennek kvetkeztben 10 vagy 100 zenetnl is tbbet prbl meg egy 
    kapcsolat alatt elkldeni, amely tbb mint az Exim alapesetben
    belltott engedlyezett kldse (smtp_accept_queue_per_connection).
    Emiatt az Exim vrakozlista mdba kapcsol s nagy kssekkel
    fogja az zeneteket tovbbtani.
    A problma elkerlsre adjunk az SMTP_MAX_SESSIONS_PER_CONNECTION
    vltoznak (a ~mailman/Mailman/mm_cfg.py llomnyban) az Exim
    smtp_accept_queue_per_connection rtknl kisebb rtket

  * A Mailman-nak figyelmen kvl kellene hagynia az Exim kzbests 
    idtllpsbl (delay) ered zeneteit, annak ellenre, hogy az
    Exim ezeket sohasem kldi el a listkra. A Mailman 2.1-ben a
    visszapattansok kezelse s a VERP tmogatsa nagyban segtheti
    a visszapattansok nyomonkvetst.
       
  * A listk ltezsnl ellenrzi a bellts, hogy tallhat-e a
    listhoz config.pck fjl. Ha trljk a listt, akkor gyeljnk
    hogy trljk a listhoz tartoz config.pck fjlt is.

  * Ha hibs felhasznli azonostra hivatkozva nem trtnik kzbests, 
    akkor ellenrizzk, hogy a MAILMAN_UID s MAILMAN_GID vltzknak
    helyesen adtuk-e meg a Mailman ezen rtkeit. Figyeljnk arra
    is, hogy a rendszerszint aliases fjlban nem tallhat a listhoz
    kzvetlenl kapcsold bejegyzs.
       

Cmzett azonostsa
~~~~~~~~~~~~~~~~~~~

Az Exim cmzett azonosts funkcija nagyon hasznos, mivel segtsgvel
az SMTP kapcsolat ideje alatt el lehet vetni a nem ismert cmzett
leveleket. Ez a funkci a sajt tartomnyukba kls cmekrl rkez
levelek esetn hasznos. A Mailman listk forgalmnl a levelek a sajt
szervernkrl indulnak s klnbz kls, tlnk fggetlen tartomnyokba
kerlnek elkldsre. Minden egyes levl tbb cmzettnek kerlhet tovbbtsra
-- akr egyszerre 500-nak is, ha a Mailman alaprtelmezett rtkt hasznljuk
s nem mdostottuk az SMTP_MAX_RCPTS rtkt.

A Mailman listk forgalmn cmzett azonostst vgezve problmk
merlhetnek fel. ltalban az Exim a Mailman listkrl rkez zenetek
minden cmzettjt megprblja elrni. Ehhez mindssze pr keresst
vgez a DNSben minden egyes cmzettnl, azonban ez a keress a kzbestst
nagyon lelassthatja. Ezrt clszer kikapcsolni a cmzett azonostst
a Mailman forgalomra.

3-as Exim alatt a kvetkezt kell elhelyezni az ltalnos belltsok
rszben:

  receiver_verify_hosts = !127.0.0.1

4-es Eximnl valsznleg az alaprtelmezett cmzett azonostsi ACL
kifejezsben (az "RCPT TO" ACL-ben) mr engedlyezve van ez a funkci:

  accept  domains       = +local_domains
          endpass
          message       = unknown user
          verify        = recipient

Ekkor csak a sajt tartomnyba rkez levelekre vgez cmzett azonostst
az Exim. (Ez a megolds nem teljesen azonos azoknl az zeneteknl 
alkalmazott cmzett azonostsi funkcival, amelyek nem-127.0.0.1 hostokrl
rkeznek, de mkdik a Mailman esetben.)


SMTP Callback
~~~~~~~~~~~~~

Az Exim SMTP callback kpessgvel mg hatkonyabban lehet azonostani
a hibs feladcmeket, mint a hagyomnyos felad ellenrzssel. Sajnos
nagyon sok szerver a visszapattansi zenet fejlcben hibs feladt
tntet fel (annak ellenre, hogy csak egy res felad cmet kne
hasznlniuk ilyen esetekben).

Azrt, hogy a Mailman a visszapattan cmeket kezelni tudja szksges
a Mailman listkon fogadni az ilyen leveleket, mg akkor is ha ezek
nem alkalmasak visszapattansok azonostsra. Ezrt tbbnyire 
clszer kikapcsolni az SMTP callback ellenrzst a visszapattan 
levelekre.

Exim 4 esetn ezt a kvetkez belltssal lehet elrni az "RCPT TO" ACL
rszben:

  # Fogadjuk a visszapattansokat a listn mg akkor is ha a callback vagy
  # ms ellenrzsek nem jrtak sikerrel
  warn     message	= X-WhitelistedRCPT-nohdrfromcallback: Yes
	   condition	= \
           ${if and {{match{$local_part}{(.*)-bounces\+.*}}
                     {exists {MAILMAN_HOME/lists/$1/config.pck}}} \
                {yes}{no}}
                {yes}{no}}

  accept   condition	= \
           ${if and {{match{$local_part}{(.*)-bounces\+.*}}
                     {exists {MAILMAN_HOME/lists/$1/config.pck}}} \
                {yes}{no}}
                {yes}{no}}

  # Most ellenrizhetjk a felad cmt az SMTP callback funkcival.
  deny   !verify = sender/callout=90s

Ha a fejlcben tallhat cmekre is szeretnnk SMTP callback ellenrzst
vgrehajtani, akkor a "DATA" ACL-t a kvetkezkppen kell megadni:

  deny   !condition = $header_X-WhitelistedRCPT-nohdrfromcallback:
	 !verify = header_sender/callout=90s


VERP hasznlata Eximmel s Mailmannel
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

VERP esetn a listatagoknak a leveleket kln-kln kldjk el, a VERP
belltsrl a ~mailman/Mailman/Defaults.py llomnyban lehet bvebben
olvasni. Rviden, a kvetkezket kell feltntetni a ~mailman/Mailman/mm_cfg.py
llomnyban a VERP hasznlathoz:

  VERP_PASSWORD_REMINDERS = 1
  VERP_PERSONALIZED_DELIVERIES = 1
  VERP_DELIVERY_INTERVAL = 1
  VERP_CONFIRMATIONS = 1
 
 (A fenn emltett tirnytok kpesek a VERP visszapattansok kezelsre is.)


Virtulis tartomnyok
~~~~~~~~~~~~~~~~~~~~~

Virtulis tartomnyok kezelsre megolds lehet az a mdszer, hogy minden
egyes virtulis tartomnyhoz kln-kln teleptett Mailmant hasznlunk.
(Jelenleg csak ezzel a mdszerrel lehet ugyanazon a rendszeren azonos nvvel,
de eltr tartomnyokban listkat zemeltetni.)

Ez esetben ne adjuk meg a MAILMAN_HOME s MAILMAN_WRAP vltozkat, trljk
azokat az ltalnos belltsok rszbl. Mdostsuk a director (router)
rszeket valahogy gy:

  require_files = /virtual/${domain}/mailman/lists/${lc:$local_part}/config.pck

a transports rszeket pedig gy:

  command = /virtual/${domain}/mailman/mail/mailman \
            ${if def:local_part_suffix \
                 {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}}
                 {post}} \
              $local_part
  current_directory = /virtual/${domain}/mailman
  home_directory = /virtual/${domain}/mailman


Lista ellenrzse
~~~~~~~~~~~~~~~~~

A kvetkezkben bemutatjuk, hogy hogyan lehet ellenrizni egy mkd
rendszeren, hogy az Eximnek megadott listk cmei megfelelen mkdnek.
A pldban az mems-exchange.org levelezszerveren mkd 
quixote-users@mems-exchange.org listn mutatjuk be a szksges parancsokat
("% " jelzi a Unix shell promptjt):

  % exim -bt quixote-users
  quixote-users@mems-exchange.org
    router = mailman_main_router, transport = mailman_transport

  % exim -bt quixote-users-request
  quixote-users-request@mems-exchange.org
    router = mailman_router, transport = mailman_transport

  % exim -bt quixote-users-bounces
  quixote-users-bounces@mems-exchange.org
    router = mailman_router, transport = mailman_transport

  % exim -bt quixote-users-bounces+luser=example.com
  quixote-users-bounces+luser=example.com@mems-exchange.org
    router = mailman_router, transport = mailman_transport

Ha az "exim -bt" parancsok kimenete hasonlt valamennyire a fentiekhez,
akkor az j jel, mert azt jelenti hogy az Exim a megfelel Mailman
bejegyzshez tovbbtja az eltr zeneteket. Azonban messze nem jelenti
azt, hogy az Exim s Mailman telepts biztosan tkletesen mkdik!


A dokumentum kszti
~~~~~~~~~~~~~~~~~~~~~

Eredeti szerzje Nigel Metheringham <postmaster@exim.org>.
Mailman 2.1-es s Exim 4-es verzihoz adaptlta Merlin <marc_soft@merlins.org>.
Ellenrzte/formba nttte/pontostotta/egyszerstette Greg Ward <gward@python.net>.