Sender Canincal Maps, cambiare il mittente locale di un messaggio

From RVM Wiki
Jump to navigation Jump to search


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.