t0mcat Tux's lil' helper
Joined: 12 Feb 2004 Posts: 111 Location: Catania, Italy
|
Posted: Wed Apr 23, 2008 2:41 pm Post subject: [Trick] Remote SMTP AUTH Relaying con Netqmail |
|
|
Intro
Chiunque provi a utilizzare Gentoo, tra le altre cose, come un server di posta casalingo, si troverà prima o poi di fronte al problema del relaying.
Il problema sorge perché il traffico mail proveniente da IP di connessioni casalinghe spesso non è ben voluto dai server di posta di produzione; uno dei modi per risolverlo è il Mail Relay, ossia inoltrare il traffico in uscita dal nostro server home-made ad un server di produzione esterno, il quale non avrà nessun problema a recapitare correttamente le nostre email verso il resto della grande rete.
Per eseguire il relay avrete bisogno di un account di posta presso un service provider che metta a disposizione un server in uscita SMTP.
Al contrario di Postfix (almeno a quanto ricordo), Netqmail e Qmail permettono di default il relay solo senza autenticazione, la quale invece è quasi sempre richiesta necessariamente dai service provider per utilizzare i loro MTA in relay.
Da parecchio tempo esistono varie patch per Qmail-Remote (la componente di Qmail che esegue il relay) ma sono tutte molto datate e applicarle richiede qualche smanettamento extra, dal momento Qmail nel Portage ha lasciato il posto a Netqmail, che include nell'installazione un enorme numero di cambiamenti rispetto alla versione vanilla.
Cosa fare
Dando per scontato che abbiate già installato e configurato Netqmail per gestire il vostro serverino di posta in tutto tranne che per il relay, ciò che dovremo fare sarà estrarre la versione vanilla di Qmail dall'Ebuild, applicare la patch a Qmail-Remote, e installare il binario patchato di quest'ultimo a sostituzione di quello fornito con Netqmail.
Come fare
Premessa: i comandi riportati di seguito si riferiscono alla versione 1.05-r8 di Netqmail e la patch utilizzata è quella di Bjoern Kalkbrenner
Prima di tutto estraiamo la versione vanilla dall'ebuild di Netqmail
Code: |
:$ USE="vanilla" ebuild /usr/portage/mail-mta/netqmail/netqmail-1.05-r8.ebuild unpack
:$ cd /var/tmp/portage/mail-mta/netqmail-1.05-r8/work/netqmail-1.05/netqmail-1.05
|
Scarichiamo ed estraiamo la patch
Code: |
:$ wget http://www.cyberphoria.org/_media/projects/qmail-smtp-auth-send-0.0.1.tar.gz
:$ tar xvzf qmail-smtp-auth-send-0.0.1.tar.gz
:$ cp qmail-smtp-auth-send/base64.* ./
:$ cp qmail-smtp-auth-send/smtp-auth-send.patch ./
|
Patchiamo, compiliamo e installiamo qmail-remote
Code: |
:$ patch -p1 < smtp-auth-send.patch
:$ make qmail-remote
:$ install -m 711 qmail-remote /var/qmail/bin/qmail-remote
|
Salviamo il nuovo control file con i dovuti permessi (è importante che non sia leggibile da tutti, conterrà le password in chiaro!)
Code: |
:$ cp qmail-smtp-auth-send/smtproutes_users /var/qmail/control/
:$ chown qmaild:qmail /var/qmail/control/smtproutes_users
:$ chmod 640 /var/qmail/control/smtproutes_users
|
Ora non resta che configurare il relay nel control file
Code: | :$ nano /var/qmail/control/smtproutes_users |
la sintassi, abbastanza autoesplicativa, è
Code: | indirizzo@esempio.com:smtp.esempio.com|username|password |
o se si vuole creare una regola di default basta lasciare vuoto il campo dell'indirizzo
Code: | :smtp.esempio.com|username|password |
username e password vanno scritte in chiaro.
Puliamo infine la workdir
Code: |
:$ ebuild /usr/portage/mail-mta/netqmail/netqmail-1.05-r8.ebuild clean
|
ora siete pronti per fare il relay autenticato!
non ho avuto modo di testare approfonditamente l'affidabilità della patch, ma a me finora non ha fatto una grinza!
spero sia stato utile a qualcuno _________________ il gattaccio
a.k.a etienne |
|