linuxpostfixemail

Postfix: Routing delle Email basato sul Mittente (Sender Dependent)

2 min di lettura
Postfix: Routing delle Email basato sul Mittente (Sender Dependent)

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).