- Disclaimer - Questo non è un HowTo, non è stato minimamente collaudato, quindi usatelo a vostro rischio e pericolo!

Visto che ultimamente si è parlato di eventuali sostituti per Fetchmail e sembra che Getmail sia la panacea di tutti i mali, ho provato ad installarlo.
Ho utilizzato un server virtuale (tanto per non fare danni su macchine in produzione, VMware è nosto amico!), versione 7.2 aggiornata, in configurazione server-only con nessun contrib installato.
La procedura seguente non è sicuramente perfetta, tutt'altro, e chi avesse suggerimenti (nenonano ci sei?

) è pregato di farsi avanti in maniera da poterla integrare e correggere.
Partiamo!
Per prima cosa si installa il pacchetto di getmail preparato da dungog.
cd /root
wget http://sme.dungog.net/packages/smeserver/7.0/i386/RPMS.dungog/getmail-4.7.5-1.el4.sme.noarch.rpm
yum localinstall getmail-4.7.5-1.el4.sme.noarch.rpm
Ok, ora getmail dovrebbe essere installato; passiamo alla configurazione.
Di default getmail usa come file di configurazione un file chiamato getmailrc che contiene tutte le direttive che deve seguire, compresi gli account da cui scaricare la posta.
Nell'esempio che segue si scaricheranno le mail senza cancellarle da un account Gmail tramite imaps, il nome dell'account è smeserver.test, la password è password, le mail verranno inoltrate all'utente admin. Per i vari modi di configurazione (pop3, pops3,...) rimando alla documentazione di getmail che è molto chiara e piena di esempi
http://pyropus.ca/software/getmail/documentation.htmlCreiamo un file chiamato getmailrc in /etc/getmail
mkdir -p /etc/getmail/
Per poter creare il file potete usare il vostro editor preferito (pico, vi..)
Il contenuto del file nel mio caso è il seguente (le righe che iniziano con # sono commenti esplicativi, possono anche essere rimossi)
[options]
#read_all = false fa si che getmail tenga traccia delle mail già scaricate per evitare di riscaricarle
read_all = false
[retriever]
type = SimpleIMAPSSLRetriever
server = imap.gmail.com
port = 993
username = smeserver.test@gmail.com
password = password
mailboxes = ("INBOX", )
[destination]
#in questo esempio le mail verranno messe direttamente nella maildir dell'user admin
#si può anche integrare l'utilizzo di getmail congiuntamente con qmail, spamassassin, procmail e clamAv
#il tutto è descritto nella documentazione di getmail
type = Maildir
path = ~admin/Maildir/
user = admin
A questo punto getmail dovrebbe essere già funzionante e possiamo provarlo con
getmail -r /etc/getmail/getmailrc
Si può poi inserire un cronjob in crontab per poter richiamare getmail a intervalli di tempo costanti, nell'esempio che segue ogni minuto
Creiamo un template per inserire il cronjob
mkdir -p /etc/e-smith/templates-custom/etc/crontab
In questa directory si crea un file chiamato 50getmail contenente
* * * * * root /usr/bin/getmail -r /etc/getmail/getmailrc --quiet >> /dev/null 2>&1
e ora espandiamo il tamplate e riavviamo crond
expand-template /etc/crontab
service crond restart
Se tutto funziona ora ad ogni minuto getmail cercherà se ci sono nuove mail nell'account smeserver.test@gmail.com