Sender Canincal Maps, cambiare il mittente locale di un messaggio
Introduzione
A volte è necessario cambiare il mittente di un messaggio generato localmente.
Ad esempio se una macchina ha dominio privato qdatanetwork.priv, gli alert generati localmente come root@fire.qdatanetwork.priv non potranno mai uscire dalla macchina stessa via smtp, perchè nessun altro mail server li accetterò per l'inoltro, essendo il dominio privato inesistente.
Questa operazione (che in sendmail viene eseguita utilizzando la genricstable) viene eseguita tramite la sender_canonical_maps
Definizione della mappa
Nel main.cf, indicare che la mappa è contenuta nel file /etc/postfix/sender_canonical_maps
vi /etc/postfix/main.cf
... sender_canonical_maps = hash:/etc/postfix/sender_canonical_maps ...
Creazione della mappa
La mappa è nella forma:
utenza_originale utenza_modificata
Notare che utenza_originale può essere un indirizzo email (con dominio privato o pubblico) tipo root@fire.qdatainformatica.com, root@qdatainformatica.com, etc.
Per informazioni ulteriori,
man 5 postconf
che rimanda per il formato dei lookup a:
man canonical
Editare la mappa:
vi /etc/postfix/sender_canonical_maps
... root@fire.qdatanetwor.priv qda-alert@rvmgroup.it ...
Compilarla:
postmap /etc/postfix/sender_canonical_maps
Ora ogni email ricevuta da postfix in locale per essere spedita fuori, subirà la trasformazione voluta.
Cambiare la descrizione dell'indirizzo con cui viene spedita la mail
Si è effettuato il cambiamento del mittente, ma non la sua descrizione. Se si vuole che la mail arrivi e sia mostrata nel client che legge l'email con un nickname diverso, occorre cambiare il campo GECO dell'utente locale:
chfn root -f 'Root CROSRV02' root chfn backup -f 'Backup CROSRV02' backup
Testare con il comado mail, che genera mail localmente, e non via smtp:
su - mail alert@rvmgroup.it
e con
su - backup mail alert@rvmgroup.it Subject: test da backup Messaggio di test Ignorare . Cc: exit logout
Per forzare il dominio locale della macchina, agire prima sul file /etc/hosts, e se è il caso, modificare anche il valore del parametro myorigin in postfix, che può rimandare a quanto contenuto in /etc/mailname.