Fetchmail è un sistema full-optional, robusto, per la ricezione e l’invio delle email ed è stato pensato per essere usato su collegamenti TCP / IP (come ad esempio connessioni SLIP o PPP). Supporta ogni protocollo di posta remota attualmente in uso su Internet: POP2, POP3, RPOP, APOP, KPOP, tutte le tipologie di IMAP, ETRN e ODMR. Può supportare anche IPv6 e IPSEC.
Per installare fetchmail su OS Debian e Ubuntu, eseguire il seguente comando:
apt-get install fetchmail
Per installare fetchmail sui sistemi CentOS e Fedora, utilizzare:
yum install fetchmail
Configurare fetchmail
Per installare Fetchmail come servizio innanzitutto occorre editare /etc/default/fetchmail e impostare il parametro START_DAEMON a yes:
vi /etc/default/fetchmail
# This file will be used to declare some vars for fetchmail
#
# Uncomment the following if you dont want localized log messages
# export LC_ALL=C
# Declare here if we want to start fetchmail. ‘yes’ or ‘no’
START_DAEMON=yes
Creare quindi il file di configurazione /etc/fetchmailrc, in quanto senza questo file fetchmail non partirà in automatico. In questo file è possibile specificare come il servizi fetchmail deve comportarsi e i dettagli necessari per la connessione agli account delle email.
Supponiamo che ad esempio che l’utente Falko abbia tre account di posta elettronica da cui si desidera recuperare messaggi di posta elettronica:
Primo account: server pop.someprovider.tld, protocollo POP3, username falko@someprovider.tld (in questo caso lo username è l’indirizzo email), password segreta.
Secondo account: server mail.otherprovider.tld, protocollo POP3, username ftimme, password verysecurepassword.
Terzo account: Server mailin.tillsprovider.tld, protocol POP3, username tbrehm, password iwonttellyou.
vi /etc/fetchmailrc
# /etc/fetchmailrc for system-wide daemon mode
# This file must be chmod 0600, owner fetchmail
set daemon 300 # Pool every 5 minutes
set syslog # log through syslog facility
set postmaster root
set no bouncemail # avoid loss on 4xx errors
# on the other hand, 5xx errors get
# more dangerous…
##########################################################################
# Hosts to pool
##########################################################################
# Defaults ===============================================================
# Set antispam to -1, since it is far safer to use that together with
# no bouncemail
defaults:
timeout 300
antispam -1
batchlimit 100
poll pop.someprovider.tld protocol POP3 user “falko@someprovider.tld” there with password “secret” is falko here
poll mail.otherprovider.tld protocol POP3 user “ftimme” there with password “verysecurepassword” is falko here fetchall
poll mailin.tillsprovider.tld protocol POP3 user “tbrehm” there with password “iwonttellyou” is till here keep
All’inizio del file sono indicate alcune configurazioni globali come:
set daemon:imposta ogni quanto (in secondi) fetchmail deve scaricare la posta.
set syslog: registra gli errori nel syslog.
set postmaster: il nome dell’utente gestore della posta (in questo caso: root).
set no bouncemail: reindirizza tutti gli errori di posta al postmaster (come configurato nell’opzione “postmaster” di cui sopra).
Successivamente vengono le opzioni relative al server e agli utenti. Queste opzioni sono applicate a tutte le righe che iniziano con poll. Se volete associare le medesime opzioni a più righe “poll” potete farlo creando una sezione defaults: prima delle righe poll :
timeout: il tempo massimo di inattività del server espresso in secondi (di default 300).
antispam: quale risultato viene restituito dal server SMTP in caso di SPAM.
batchlimit: il numero massimo di messaggi da inviare al server SMTP prima che la connessione venga interrotta e ne venga attivata una nuova (di default 0, ossia un numero illimitato di messaggi).
Infine vengono le righe “poll” per le quali non è necessaria nessuna particolare spiegazione.
Come potete vedere alla fine di ogni riga ci sono dei parametri aggiuntivi:
nofetchall: scarica solo i nuovi messaggi (default).
fetchall: scarica tutti i messaggi.
keep: non cancellare dal server i messaggi visualizzati.
nokeep: cancellare dal server i files visualizzati.
Per avere più informazioni su fetchmail potete consultare la guida
man fetchmail
/etc/fetchmailrc deve avere i permessi impostati a 600 e deve essere di proprietà dell’utente fetchmail:
chmod 600 /etc/fetchmailrc
chown fetchmail /etc/fetchmailrc
A questo punto possiamo lanciare fetchmail:
/etc/init.d/fetchmail start
Una volta lanciato fetchmail dovrebbe scaricare eventuali nuove mail e salvarle nelle mailbox degli utenti falko e till.