linuxpostfixemail
Postfix: Routing delle Email basato sul Mittente (Sender Dependent)
2 min di lettura
In alcune configurazioni avanzate, potresti voler instradare le email in uscita verso server diversi a seconda di chi le spedisce. Ad esempio, le email provenienti da @azienda.com dovrebbero passare per il relay aziendale, mentre quelle da @personale.it dovrebbero usare un altro SMTP.
In Postfix, questa funzione si chiama sender_dependent_relayhost_maps.
1. Abilitazione del Mapping nel main.cf
Apri /etc/postfix/main.cf e indica a Postfix di consultare la tabella degli host basata sul mittente:
# Definizione della mappa per il routing dipendente dal mittente
sender_dependent_relayhost_maps = hash:/etc/postfix/relayhost-maps
2. Creazione della Tabella di Routing
Crea il file /etc/postfix/relayhost-maps e definisci le rotte:
# Mittente Server di Relay:Porta
@example.com [smtp.example.com]:25
@miodominio.it [smtp.miodominio.it]:587
@personale.net [smtp.personale.net]:25
**Nota sulla sintassi:** L'uso delle parentesi quadre `[...]` impedisce a Postfix di cercare i record MX del DNS, puntando direttamente all'host specificato.
3. Sicurezza e Attivazione
Imposta i permessi corretti, genera il database e ricarica Postfix:
# Protezione del file
sudo chmod 400 /etc/postfix/relayhost-maps
# Generazione tabella hash
sudo postmap /etc/postfix/relayhost-maps
# Ricarica configurazione
sudo systemctl reload postfix
4. Gestione degli errori SASL
Se i tuoi relay richiedono autenticazione e ricevi errori di tipo SASL authentication failed, assicurati di avere installato i moduli necessari:
sudo apt-get install libsasl2-modules
sudo systemctl restart postfix
**Importante:** Ricordati di configurare anche il file `sasl_passwd` se i server di destinazione richiedono login e password, come spiegato nella guida alla [configurazione di Postfix con autenticazione](/postfix-con-autenticazione).