File: Mail-Queue

package info (click to toggle)
doc-linux-it 2000.01-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 8,136 kB
  • ctags: 19
  • sloc: perl: 249; makefile: 50; sh: 42
file content (462 lines) | stat: -rw-r--r-- 14,005 bytes parent folder | download
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
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
  Linux Mail-Queue mini-HOWTO
  Leif Erlingsson, leif@lege.com, Jan P. Tietze, jpti
  etze@mail.hh.provi.de
  v2.02, 3 Settembre 1997, sendmail 8.8.7

  Queue Remote Mail + Deliver Local Mail. Le necessarie modifiche alla
  configurazione per far s che sendmail consegni la posta locale
  ***subito*** mentre accumula in coda la posta in uscita.  Traduzione a
  cura di Lorenzo Pulici lorenzo.pulici@usa.net.

  1.  Introduzione

  Questo documento  stato scritto da due autori. La parte pi vecchia,
  relativa alla posta NON dial-on-demand,  di Leif Erlingsson
  <leif@lege.com>, quella relativa alla soluzione dial-on-demand (pi
  recente)  a cura di Jan P. Tietze <jptietze@mail.hh.provi.de>.



  2.  La soluzione NON dial-on-demand

  Scritta da Leif Erlingsson <leif@lege.com>.

  La versione originale di questa parte conteneva parecchia roba non
  necessaria. Questo  ci che serve veramente...



  2.1.  Avviare sendmail

  Slackware e simili:     /etc/rc.d/rc.M:



       echo "Starting sendmail daemon (/usr/sbin/sendmail -bd -os) [modalit di solo accodamento]..."
       /usr/sbin/sendmail -bd -os      # NON  il flag standard "-bd -q 15m"!





  RedHat e simili:                /etc/rc.d/init.d/sendmail.init:



       echo -n "Starting sendmail: [modalit di solo accodamento]"
       daemon sendmail -bd -os         # NON  il demone sendmail -bd -q1h





  L'opzione -os non  necessaria, tutto quello che fa :



       SuperSafe [s] Esegue in modalit super-safe, vale a dire che
                     crea sempre il file di accodamento, anche nel caso
                     vogliate effettuare la consegna immediata.
                     Sendmail crea sempre in ogni circostanza il file di
                     accodamento prima di restituire il controllo al client.
                     Deve essere sempre selezionato.




  Ci dovrebbe comunque gi essere configurato nel sendmail.cf di
  default.


  2.2.  Configurare sendmail

  Gli utenti seri di sendmail usufruiscono del sorgente m4.  Raccomando
  questa soluzione se pensate di aggiornare sendmail o anche di
  effettuare banali modifiche al sendmail.cf

  Se non intendete mai configurare sendmail in modo che i return header
  dell'envelope e simili funzionino anche con una connessione dinamica
  IP o qualcosa del genere, potreste non aver bisogno del sorgente m4.


  2.2.1.  Configurare sendmail.cf direttamente, per configurazioni sem
  plici.

  Questa  una soluzione strettamente dipendente dalla vostra versione
  in funzione della versione di sendmail.cf. Il seguente esempio 
  valido *soltanto* per sendmail-8.8.x.

  Editate /etc/sendmail.cf:



       # avoid connecting to "expensive" mailers on initial submission?
       O HoldExpensive=True




  ... pi avanti ...



       #####  @(#)smtp.m4      8.33 (Berkeley) 7/9/96  #####

       Msmtp,          P=[IPC], F=mDFMuXe, S=11/31, R=21, E=\r\n, L=990,
                       T=DNS/RFC822/SMTP,
                       A=IPC $h
       Mesmtp,         P=[IPC], F=mDFMuXae, S=11/31, R=21, E=\r\n, L=990,
                       T=DNS/RFC822/SMTP,
                       A=IPC $h
       Msmtp8,         P=[IPC], F=mDFMuX8e, S=11/31, R=21, E=\r\n, L=990,
                       T=DNS/RFC822/SMTP,
                       A=IPC $h
       Mrelay,         P=[IPC], F=mDFMuXa8e, S=11/31, R=61, E=\r\n, L=2040,
                       T=DNS/RFC822/SMTP,
                       A=IPC $h




  Il flag importante qui sopra  ``e''.  Non importa affatto se gli
  altri flag sono diversi nel vostro file.  Teneteli cos come sono,
  aggiungete soltanto ``e'' come dall'esempio di sopra, a meno che ci
  sia gi.  ``e'' contrassegna il mailer come ``expensive''.


  2.2.2.  Configurare sendmail.cf usando il sorgente m4

  Qui di seguito, per semplicit considero che la versione di sendmail
  sia la 8.8.7. Se avete una versione differente, sostituite a 8.8.7 il
  numero della vostra versione! Inoltre queste istruzioni non
  funzioneranno per vecchie versioni di sendmail. Prendete l'ultima
  versione di sendmail!


  Scaricate il sorgente di sendmail.  Provate
  ``http://WWW.Sendmail.ORG'' o possibilmente ``ftp.sendmail.org''.


  Raccomando inoltre di ottenere la mia patch per permettere il reverse
  aliasing dell'envelope del mittente e altre belle cose che vi
  permetteranno di prendere il controllo del vostro ambiente della
  posta.


  Scrivete a ``Sendmail Patch <sendmail@lege.com>'', Soggetto:
  ``sendmail-8.8.7'', se 8.8.7  la vostra versione di sendmail.

   inoltre disponibile presso ``http://www.lege.com'', cos come il
  sorgente sgml di questo mini-HOWTO!

  Non  necessario applicare tutte le mie patch per avere un sistema di
  accodamento della posta remota e di consegna della posta locale che
  funzioni. Le mie patch risolvono altri problemi. Ma pensavo che questo
  fosse un buon posto per menzionarle, dato che molti utenti Linux le
  troveranno estremamente utili. Vi permetteranno inoltre di avere
  domini virtuali perfettamente funzionanti, se lo desiderate.  I domini
  virtuali non devono essere ``locali''. Vi permetteranno di usare gli
  ``xaliases'', o in altre parole il ``reverse aliasing''.

  Decomprimete i sorgenti di sendmail. Otterrete qualcosa di simile a
  /usr/src/sendmail-8.8.7/.

  cd /usr/src/sendmail-8.8.7/cf

  Ora, se volete applicate la mia patch, altrimenti saltate questo
  passo.  Se non volete usare procmail come Local Delivery Agent salvate
  in un posto sicuro il vostro
  /usr/src/sendmail-8.8.7/cf/ostype/linux.m4 prima di cominciare...

  Salvate la mia patch in ``/tmp/sendmail-8.8.7-cf-cpio-idcmu.gz'',
  indi...


       cd /usr/src/sendmail-8.8.7/cf
       gzip -dc < /tmp/sendmail-8.8.7-cf-cpio-idcmu.gz | cpio -idcmu




  Se non volete usare procmail, ricopiate al suo posto la copia salvata
  di /usr/src/sendmail-8.8.7/cf/ostype/linux.m4.

  Applicata o meno la mia patch, assicuratevi che queste righe o altre
  molto simili siano aggiunte a
  /usr/src/sendmail-8.8.7/cf/cf/yourhostname.smtp.mc (ma se avete
  applicato la patch potreste voler cercare i nomi dei file contenenti
  la parola ``elijah'', in /usr/src/sendmail-8.8.7/cf):










  dnl # Defer Delivery to "expensive" mailers until next time the
  dnl # queue is processed using "O HoldExpensive=True" and make
  dnl # sure smtp mailers are "expensive".
  dnl # (See original "sendmail" book Chapter 30: Options,
  dnl # "Oc - Don't connect to expensive mailers", or
  dnl # 2nd Edition "sendmail" book Chapter 34.8.29,
  dnl # "HoldExpensive (c), Queue for expensive mailers".)
  dnl #                           / Leif Erlingsson <leif@lege.com>
  define(`confCON_EXPENSIVE', `True')
  define(SMTP_MAILER_FLAGS, e)
  MAILER(local)dnl
  MAILER(smtp)dnl





  2.3.  Suggerimenti per il supporto al menu

  La versione 1.x di questo documento conteneva dei suggerimenti per il
  supporto al menu per /var/X11R6/lib/fvwm/system.fvwmrc.  Li ho
  eliminati nella versione corrente, ma sono disponibili su richiesta:


  Scrivete a: ``Menu support suggestions <fvwmrc@lege.com>'', Soggetto:
  ``Menu support suggestions''



  3.  La soluzione dial-on-demand

  Scritta da Jan P. Tietze <jptietze@mail.hh.provi.de>.

  Molti utenti Linux accedono a Internet tramite una linea telefonica, e
  molti hanno deciso di implementare sul loro sistema le caratteristiche
  dial-on-demand.  Ci significa che non appena un pacchetto IP  pronto
  per lasciare la rete o l'host locali, viene automaticamente stabilito
  il collegamento ad un fornitore di servizi Internet (ISP).  Il
  collegamento cadr dopo un certo periodo durante il quale nessun
  pacchetto sar transitato.

  Nonostante ci sia molto comodo ed economico, vi  un caso particolare
  nel quale non  n comodo (dato che il tempo necessario per iniziare
  un collegamento via modem  notevole) n economico, e questo  il caso
  dell'invio di e-mail.  L'e-mail viene normalmente spedita tramite
  SMTP, consegnata direttamente dal vostro sistema oppure tramite un
  host SMTP in Internet solitamente residente nella rete del vostro ISP.

  Con le linee telefoniche,  necessario stabilire un collegamento ogni
  qualvolta si voglia inviare un messaggio. La cosa pu andare se dovete
  spedire un solo messaggio, ma se dovesse capitarvi di inviare messaggi
  multipli, rendendo cos necessari ripetuti collegamenti, la cosa pu
  rivelarsi tediosa e monetariamente dispendiosa. Inoltre se il vostro
  ISP impone limiti di orario per il vostro accesso, ci vi costringer
  a posporre i vostri messaggi in determinate ore del giorno, ed
  inviarli manualmente.

  La sezione 1 di questo documento vi risolver la situazione nella
  quale una ricerca esterna di DNS provocher l'inizio del collegamento,
  anche se la vostra e-mail verr solo accodata. La ragione  dovuta al
  fatto che sendmail vuole "canonificare" i nomi degli host.

  La soluzione di questo problema consta di due passi: prima di tutto
  dobbiamo modificare moderatamente sendmail.cf. Dopodich dovremo
  definire il processo dell'attuale consegna della posta. Personalmente
  preferisco che sia cron ad occuparsi di questo lavoro e descriver qui
  sotto i passaggi da fare.



  3.1.  Configurare sendmail.cf

  Per le ragioni indicate al punto [1.2], raccomando la modifica del
  sorgente m4 invece di operare direttamente su sendmail.cf.  Vi salver
  da molti problemi e far s che il cambio della configurazione sia pi
  comprensibile.

  Prima di tutto operiamo le modifiche indicate nella prima parte di
  questo documento. In seguito andremo nello specifico della
  configurazione dial-on-demand.


  3.1.1.  Configurare direttamente sendmail.cf, per configurazioni sem
  plici

  La configurazione diretta  parecchio poco pratica e tutto tranne che
  descrittiva, ma ovviamente  una vostra scelta.

  Vicino alla parte finale del vostro sendmail.cf dovrebbe esserci una
  riga come questa:



       R$* < @ $* $~P > $*             $: $1 < @ $[ $2 $3 $] > $4




  Fate precedere questa riga da "#" in modo che divenga:



       #R$* < @ $* $~P > $*            $: $1 < @ $[ $2 $3 $] > $4





  3.1.2.  Configurare sendmail.cf con il sorgente m4.

  Aggiungete la seguente riga al vostro
  /usr/src/sendmail-8.8.7/cf/cf/vostronomehost.smtp.mc:



       FEATURE(nocanonify)dnl




  Il vostro sendmail.cf finale pu essere compilato dando i seguenti
  comandi. Ricordatevi sempre di fare una copia di riserva del vostro
  attuale /etc/sendmail.cf prima di installarne uno nuovo:



       cp /etc/sendmail.cf /etc/sendmail.cf.bak
       cd /usr/src/sendmail-8.8.7/cf/cf
       m4 vostronomehost.smtp.mc > /etc/sendmail.cf



  3.2.  Aggiungere il ritardo di chiamata

   spesso utile, specialmente su linee con modem, inserire un ritardo
  di chiamata. Ci significa che se sendmail inizia una connessione nel
  tentativo di inviare una e-mail (prendendo la linea telefonica) ma il
  collegamento richiede pi tempo per essere stabilito rispetto a ci
  che sendmail ritiene necessario, sendmail aspetter semplicemente
  alcuni secondi e ritenter.


  3.2.1.  Configurare sendmail.cf direttamente

  Da qualche parte nel vostro sendmail.cf dovrebbe esserci una riga come
  questa:



       #O DialDelay=10s




  (o molto simile). cancellate il ``#''. Se non c' alcun ``#''
  all'inizio della riga, allora dovete considerare che tutto  a posto
  (vuol dire che  gi stato abilitato precedentemente).

  Se non trovate questa riga nel vostro sendmail.cf, inseritela pure (la
  cosa migliore  quella di porla nella parte "options" del file):



       O DialDelay=10s




  Modificate il valore ``10s'' in quello che ritenete fare al caso
  vostro.


  3.2.2.  Configurare sendmail.cf col sorgente m4

  Aggiungete la linea seguente al file
  /usr/src/sendmail-8.8.7/cf/cf/vostronomehost.smtp.mc:



       define(`confDIAL_DELAY',`10s')




  Modificate il valore ``10s'' in quello che ritenete fare al caso
  vostro.

  Il vostro sendmail.cf finale pu essere compilato dando i seguenti
  comandi. Ricordatevi sempre di fare una copia di riserva del vostro
  attuale /etc/sendmail.cf prima di installarne uno nuovo:



       cp /etc/sendmail.cf /etc/sendmail.cf.bak
       cd /usr/src/sendmail-8.8.7/cf/cf
       m4 yourhostname.smtp.mc > /etc/sendmail.cf


  4.  Inviare la posta

  L'invio della posta pu essere effettuato invocando il comando
  "sendmail -q".  Per quelli interessati a sapere ci che sendmail sta
  facendo, "sendmail -q -v" vi dar una descrizione pi dettagliata del
  processo di invio.

   molto conveniente automatizzare il processo di invio dell'e-mail.
  Molto comunemente viene usato cron per questo processo.


  4.1.  Come inviare e-mail ad un determinato orario

  Editate il vostro crontab:



       crontab -e




  Aggiungete delle righe in questa forma:



       05 18-23,0-7    * * Mon,Tue,Wed,Thu,Fri /usr/sbin/sendmail -q
       05 *            * * Sat,Sun             /usr/sbin/sendmail -q




  Riferitevi alle pagine man di cron (disponibili con "man 5 crontab")
  per informazioni ulteriori.  Il formato mi sembra piuttosto ovvio.
  L'inserimento d'esempio di crontab mostra che la posta (soltanto e
  solamente se inserita in coda) verr inviata dopo 5 minuti di ogni ora
  nei giorni feriali, iniziando alle 18:05 e fermandosi alle 7:05 del
  mattino dopo. Nei fine settimana la posta verr spedita 5 minuto dopo
  l'ora, cominciando alle 0:05 di sabato e finendo alle 23:05 di
  domenica.

  Usando un sistema dial-on-demand,  talvolta desiderabile ricevere la
  vostra e-mail attraverso il protocollo POP3 a determinati orari del
  giorno.  Per questo compito  possibile inserire una riga simile a
  questa nel vostro crontab:



       0 21            * * * popclient -3 -u <nomeutentePOP3> -p <password> -o /var/spool/mail/<nomeutentelocale>
       <mailhost.somedomain.com>




  Naturalmente va tutto su una riga sola.

  salvate il file e uscite dall'editor. Il crontab  ora installato.