lunedì 26 aprile 2010

Postfix e relay: varie ed eventuali

Vediamo qualche trucco per risolvere alcune situazioni di relay con postfix:

1. Come configurare postfix per usare un relay host (smarthost) remoto
2. Consentire a postfix di accettare posta in relay da ip address specifici.
3. Come ritrasmettere (relay) mail per domini specifici (ad esempio quelli locali)
4. Come configurare i domini virtuali in postfix

 
1. Come configurare postfix per usare un relay host (smarthost) remoto

Ipotizziamo che usiate Linux e il vostro provider sta filtrando il traffico sulla porta 25, impedendoti di fatto di spedire la posta direttamente dalla vostra macchina.
L'unica possibilita' in questi casi e' configurare il vostro mailserver per girare tutta la vostra posta in uscita attraverso il server del provider.
Con postfix questo e' molto semplice.

in /etc/postfix/main.cf, settate la variabile:
relayhost = smtp.yourisp.com
poi rilanciate postfix:
/etc/init.d/postfix restart
2. Consentire a postfix di accettare posta in relay da ip address specifici.

Per default, postfix consente il relay (ricezione e reinvio verso un destinatario remoto) anonimo solo ai computer della proria rete. Potete aggiungerer uno o piu' IP address che dopo il riavvio di postfix verranno considerati come IP "virtuosi" da cui puo' essere accettata posta in relay.

In /etc/postfix/main.cf cambiare:
mynetworks = 127.0.0.0/8
in
mynetworks = 127.0.0.0/8, 192.168.0.1/24, 62.35.x.x/30, x.x.x.x
 Ovvero una lista di ip address (sia sottoreti che singoli host) separati da virgole. 


3. Come ritrasmettere (relay) mail per domini specifici (ad esempio quelli locali)
 
Potete utilizzare il file /etc/postfix/transport con il seguente formato

somedomain.com     smtp:[10.0.0.1]:25
otherdomain.com    smtp:10.0.0.2:25 







ovvero:
dominio_per_cui_fare_relay    smtp:ip_server_remoto:porta








La versione con l'IP address racchiuso tra [] disabilita la verifica del record MX relativa al dominio in questione.

N.B. Verificare che in /etc/postfix/main.cf ci sia la riga seguente:
transport_maps = hash:/etc/postfix/transport
N.B. dopo ogni modifica al file /etc/postfix/transport lanciare il comando seguente:
postmap hash:/etc/postfix/transport


4. Come configurare i domini virtuali in postfix

/etc/postfix/virtual e' un file di testo dove specificare i domini e gli utenti per cui accettare le email. Ogni dominio virtuale dovrebbe cominciare con una singola linea contenente il nome del dominio.
Le righe seguenti definiscono gli indirizzi del dominio da gestire.
Le mail saranno consegnate agli utenti locali indicati sulla destra (come nell'esempio seguente). La clausola @nomedominio consente di recapitare tutte le altre mail all'utente indicato (catchall).
Potete gestire piu' di un dominio in questo file, basta ripeterne la struttura mostrata qui sotto:
dominio.com        this-text-is-ignored
postmaster@dominio.com     postmaster
address1@dominio.com     utentelocale1
address2@dominio.com     utentelocale2
@dominio.com        utentelocale1
This e-mail address is being protected from spambots. You need JavaScript enabled to view it This e-mail address is being protected from spambots. You need JavaScript enabled to view it This e-mail address is being protected from spambots. You need JavaScript enabled to view it Dovete dire a postfix dove cercare queste mappature per gli alias virtuali. La direttiva corretta si trova nel file /etc/postfix/main.cf e dice a postfix di usare la versione hash del file appena creato. Il file hash non viene creato  finche' non lanciate il comando "postmap virtual" come vedremo piu' avanti.

Il /etc/postfix/main.cf deve contenere la seguente riga
virtual_alias_maps = hash:/etc/postfix/virtual
Avendo modificato il file main.cf, dovete riavviare il demone postfix. Il secondo comando aggiorna la mappatura degli alias virtuali. Dovete rilanciare il comando postmap ogni volta che modificate il file /etc/postfix/virtual.
postfix reload
postmap /etc/postfix/virtual
Ora provate a recapitare una mail agli indirizzi del dominio virtuale. Se ci fossero problemi, verificate i log relativi al server di posta. e controllate che i due comandi precedenti siano stati eseguiti.

1 commento:

Anonimo ha detto...

Ciao, sto seguendo la tua guida, ma non riesco a capire come fare per inviare con postfix una mail che ho su register.it con smtp.fastwebnet.it

puoi aiutarmi?