Quando si usa fetchmail per prendere la posta da un server esterno e portarla sulla casella postale del server che gestiamo noi a me capita spesso di usare lo stesso nome di dominio di posta sia per il server esterno che per quello interno.
I motivi per far ciò sono diversi:
- posso evitare di aprire la porta 25 sul mio firewall
- il server di posta esterno ha una buona gestione antivirus e mi evita la necessità di installare, configurare e mantenere un sistema antivirus.
- il server di posta esterno ha una buona gestione antispam e mi evita la necessità di installare, configurare e mantenere un sistema antispam.
- se lascio la posta sul server esterno ho automaticamente il backup della posta
- posso usare il client web del server di postaesterno per la gestione della posta via internet
- posso usare il cliente web del server di posta esterno come backup del mio client di posta (se ne ho uno)
Il problema che mi si è presentato, nello specifico con Postfix come server di posta interno e il server di posta esterno del provider Aruba è che le mail che venivano scricate tornavano al mittente con un messaggio del tipo:
This is the mail system at host mercurio.miodominio.com.
I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.
For further assistance, please send mail to postmaster.
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
The mail system
<utente@miodominio.com>: mail forwarding loop for
utente@miodominio.com
Sembra che il mio postfx interno si rifiutasse di consegnare il messaggio.
Dopo aver cercato tramite sal google in lungo e in largo sono riuscito a capire che effettivamente il problema era che postfix rilevava nell’header del messaggio (probabilmente inserito dal server di posta del mittente) il campo Delivered-To mandando nel pallone postfix che usa tale campo per prevenire possibili loop di configurazione nei sistemi di posta più complessi.
La soluzione, nel mio caso, è stato di istruire fetchmail con l’apposta istruzione:
dropdelivered
da inserire nel file di configurazione fetchmail.rc.
Il parametro è di tipo user e va’ quindi specificato per ogni user.
Ad esempio :
poll pop3s.aruba.it proto pop3 uidl port 995: user utente@miodominio.com, with password 'miapassword', dropdelivered, is utente@miodominio.com here ssl ;
Sperando di aver fatto risparmiare un po’ di tempo a chi ha avuto il mio stesso problema vi auguro un buon delivery.
Andrea