di John Perr Notizie sull'autore: Utente Linux fin dal 1994; è uno degli editori francesi di LinuxFocus. Contenuto: |
Sommario:
Questo articolo spiega come configurare sendmail e fetchmail
sul vostro computer locale connesso ad internet tramite un collegamento PPP.
Tale configurazione vi consente di usare tutti i client di posta di Unix
(e non soltanto Netscape). Potrete mandare e ricevere i messaggi ogni qual
volta stabilite una connessione PPP.
Al fine di gestire in maniera opportuna la posta sul vostro computer Linux
vi occorre configurare un Agente di Trasferimento della Posta (MTA in breve,
dalle iniziali di "Mail Transfer Agent", n.d.T.). Il più popolare (e antico) è
certamente sendmail, ma ce ne sono altri, come qmail, che sono più veloci e più semplici da configurare, o exim che è incluso nelle configurazioni standard di
Debian. Qui noi tratteremo di sendmail e useremo un kit di configurazione
dell'Università di Berkley University di
Eric Allman.
Per prelevare le vostre mail dai server del vostro provider internet (ISP in breve), sarà
inoltre necessario configurare fetchmail in modo che passi a sendmail il
contenuto delle vostre mailbox.
fetchmail serve per il prelievo delle mail tramite pop3 o imap. E' anche possibile usare uucp, ma quello è un caso più esotico non trattato in questo articolo.
Per configurare sendmail è necessario installare i seguenti pacchetti (in formato rpm):
A secondo della vostra distribuzione potreste avere nomi leggermente diversi. Anche i numeri di versione potrebbero essere diversi. Solo i primi due pacchetti sono assolutamente indispensabili.
Per configurare effettivamente sendmail, seguite i questi passi:
/usr/lib/sendmail-cf/cf/config.mc
contenente:
# start of config.mc include(`../m4/cf.m4')dnl OSTYPE(`linux')dnl define(`SMTP_MAILER_FLAGS', `e9')dnl FEATURE(redirect)dnl FEATURE(nocanonify)dnl FEATURE(always_add_domain)dnl FEATURE(local_procmail)dnl GENERICS_DOMAIN(localhost.localdomain localhost localhost) FEATURE(genericstable) FEATURE(masquerade_envelope)dnl define(`confCF_VERSION',`dede's cf - 22/05/98')dnl define(`confCON_EXPENSIVE',`True')dnl define(`confME_TOO',`True')dnl define(`confCOPY_ERRORS_TO',`Postmaster')dnl define(`confDEF_CHAR_SET',`ISO-8859-1')dnl define(`confMIME_FORMAT_ERRORS',`True')dnl define(`SMART_HOST',`smtp8:[smtp.isp.net]')dnl define(`confTO_QUEUEWARN',`24h') MAILER(local) MAILER(smtp) # End of config.mc |
/etc/genericstable
:
dede: toto@isp.net root: toto@isp.net news: toto@isp.net |
/etc/aliases
contenga almeno:
MAILER-DAEMON: postmaster postmaster: root |
/etc/nsswitch.conf
come segue:
passwd: files shadow: files group: files hosts: files dns services: files networks: files protocols: files rpc: files ethers: files netmasks: files bootparams: files netgroup: publickey: automount: files aliases: files |
/etc/sendmail.cf
con:
m4 config.mc > /etc/sendmail.cf
-rw------- 1 root root 26468 mai 12 22:52 /etc/sendmail.cf
/usr/bin/sendmail -bi -oA/etc/genericstable
/etc/genericstable.db
.
newaliases
/etc/hosts
dovrebbe contenere una linea simile a:
127.0.0.1 localhost.localdomain localhost localhost
kill `head -1 /var/run/sendmail.pid`
/usr/bin/sendmail -bd -os
Questo è tutto per sendmail. Adesso dobbiamo controllare che tutto funzioni
bene:
Create un file di nome test.mail contenente:
Subject: test local
(compulsory blank line)
|
/usr/bin/sendmail -v dede < test.mail
Dovrebbero essere visualizzate le seguenti linee:
dede... Connecting to local dede... Sent
Lanciate mail o qualsiasi altro client di posta (escluso al momento netscape !!) e controllate che il messaggio sia stato ricevuto
Per configurare Netscape in modo che legga la posta locale (fornita da sendmail):
Edit/Preferences/Mail & Groups/Mail Server
localhost.localdomain
come Outgoing mail (SMTP) server
movemail/built-in
come Mail server type
/var/spool/mail
con
chmod 1777 /var/spool/mail
.
Da questo momento, il vostro PC fornirà la posta direttamente a Netscape anche se non siete connessi ad internet. Ovviamente si possono usare altri client di posta come XFmail, emacs, mutt, pine ecc...
Prima di provare il nostro nuovo server mail su Internet, occorre configurare
fetchmail in modo da prelevare i messaggi memorizzati nelle caselle postali del
vostro ISP:
create un file .fetchmailrc in /home/dede:
poll pop.isp.net protocol POP3 user toto is dede password XXXXXXX |
dove toto e XXXXX sono la login e la password del vostro account di posta
presso pop.isp.net.
Se avete più di una mailbox, basta duplicare le linee per ogni casella postale
che avete.
Il file .fetchmailrc deve avere i permessi impostati come segue, altrimenti
fetchmail si rifiuterà di funzionare:
-rw------- 1 dede dede 189 oct 6 21:45 /home/dede/.fetchmailrc
Adesso facciamo una prova su Internet:
mailq
Quindi, connettetevi al vostro provider (isp.net) e inviate il messaggio:
/usr/bin/sendmail -q
sendmail -q processa la coda dei messaggi di sendmail e fa in modo che
i messaggi vengano inviati subito, se possibile.
Attendete per qualche istante e eseguite fetchmail
per prelevare
la vostra posta; dovreste avere un messaggio inviatovi indietro dal mirror.
Potete sconnettervi se sono arrivati tutti i messaggi.
Una volta che tutto è funzionante, occorre ancora far si che il
procedimento venga eseguito automaticamente ogni qual volta viene attivata
la connessione.
Con PPP, i file /etc/ppp/ip-up ed ip-down vengono eseguiti ogni volta che
vi connettete o disconnettete. Controllate di avere una linea come questa in
questi file, e in caso contrario aggiungetela:
[ -x /etc/ppp/ip-down.local ] && /etc/ppp/ip-down.local $*
In /etc/ppp/ip-up aggiungete:
[ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local $*
I file /etc/ppp/ip-up e ip-down a questo punto lanceranno i file ip-up.local e ip-down.local che scriveremo così:
#!/bin/bash # /etc/ppp/ip-up.local #Record connection parameters echo `date` $4 $5 ppp-on >> /etc/ppp/history tail -n 1 connect-errors >> /etc/ppp/history # Send waiting mail echo Sending mail... > /dev/console /usr/sbin/sendmail -q echo Mail sent. > /dev/console # Get mail waiting on the pop server echo Getting mail... > /dev/console fetchmail > /dev/console 2>&1 echo Got mail. > /dev/console #End exit 0 # end of /etc/ppp/ip-up.local |
In effetti, le due linee importanti sono i comandi sendmail -q e fetchmail. Le rimanenti sono accessorie e consentono:
#!/bin/bash # /etc/ppp/ip-down.local #Record connection parameters echo `date` ppp-off >> /etc/ppp/history #end exit 0 # end of /etc/ppp/ip-down.local |
Questi file vengono eseguiti come root
, pertanto è necessario
copiare il file
.fetchmailrc
nella directory /root
.
Se avete un accesso permanente ad Internet, sendmail manda regolarmente
la posta se è stato lanciato come demone con il seguente comando:
sendmail -bd -q10m
manda le mail ogni 10 minuti, per esempio.
anche fetchmail può essere lanciato in modalità demone con il comando:
fetchmail -d 600
per ricevere la posta in arrivo ogni 10 minuti (600 secondi), per esempio.
Di solito questo tipo di comandi vengono messi nei file di inizializzazione
nella directory /etc/rc
o /etc/rc.d/
(può variare a secondo della vostra configurazione).
Con tale configurazione, vengono inviati i messaggi della coda di uscita
(mailq
). Vengono prelevati i messaggi in arrivo nelle mailbox
del vostro ISP. Potete usare xbiff o xmailbox o qualsivoglia software simile
che vi avverte quando avete posta. Potete anche ottimizzare il modo in cui la
vostra posta viene ordinata e filtrata con procmail.
Quest'ultimo passo è spiegato nell'
articolo di Novembre 1997 di Angel Lopez.
|
Pagine web mantenute dal Team degli Editori di LinuxFocus
© John Perr LinuxFocus.org 2000 Clicca qui per segnalare un errore o per inviare un commento a Linuxfocus |
Informazioni sulla traduzione:
|
2000-06-21, generated by lfparser version 1.5