Sender address rejected: not owned by user

Vediamo come risolvere l'errore di postfix "Sender address rejected: not owned by user" tramite l'uso dei sender_canonical

Potresti trovare questo errore nei log di postix. Se vedi questo errore probabilmente stai usando il tuo postfix come server relay mail o comunque sfrutti per l’invio delle mail un server SMTP esterno dove però non è permesso l’invio di mail dal tuo dominio.

Per evitare questo problema devi indicare al tuo postfix quali sono i domini autorizzati ad inviare mail, questo si fa aggiungendo alla configuraizone di postfix (main.cf) l’ozione ‘sender_canonical

ostricht@myserver:~# cat /etc/postfix/main.cf
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
.
.
.
### ADD TO YOUR CONFIGURATION
sender_canonical_maps = hash:/etc/postfix/sender_canonical

Una volta aggiunta l’opzione bisogna definire i domini autorizzati nel file /etc/postfix/sender_canonical e successivamente aggiungere queste informazioni al database di postfix e riavviare il servizio (in questo esempio supponiamo che ostrich@localhostrichi.com sia un mittente già considerato valido dal sistema e noi vogliamo abilitare l’invio anche per mittenti dei domini @newdomain1.com e @newdomain2.com)

ostricht@myserver:~# vim /etc/postfix/sender_canonical
@newdomain1.com ostrich@localhostrich.com  
@newdomain2.com ostrich@localhostrich.com 
ostricht@myserver:~# postmap /etc/postfix/sender_canonical
ostricht@myserver:~# systemctl restart postfix

Da ora in poi ogni mittente appartenente ai domini ‘@newdomain1.com’ o ‘@newdomain2.com’ potrà invieare mail tramite il server SMTP remoto come se fosse ‘ostrich@locahostrich.com.’ La coisa importante però è che il mittente dalla mail risulterà correttamente ‘user@newdomain1.com’ e non ‘ostrich@locahostrich.com.’