What the message looks like
553 5.7.1 <info@example.com>: Sender address rejected: not owned by user anna@example.comCommon causes
reject_sender_login_mismatchis active and the sender address is missing fromsmtpd_sender_login_maps.- Sending from a shared address (info@, noreply@) with a personal login.
- The application sets a different envelope sender than the login address.
- The map only lists the address itself, not aliases or capitalised variants.
Check
- Show sender restrictions and login map
postconf smtpd_sender_restrictions smtpd_sender_login_maps - Check which login owns the sender address
postmap -q info@example.com $(postconf -h smtpd_sender_login_maps) - Show the submission port settings
postconf -M submission/inet - Find rejected senders in the log
journalctl -u postfix --since '1 hour ago' | grep 'Sender address rejected'
Fix
- For shared addresses add an entry to the login map, e.g.
info@example.com anna@example.com,ben@example.com. - For hash maps run
postmap, thenpostfix reload. - In applications set MAIL FROM to the login address and use the desired address only as Reply-To.
- Do not just disable the check: without it any logged-in user can send as anyone.
FAQ
How is this different from 550 5.7.1?
553 5.7.1 is about the sender address when you send. 550 5.7.1 is usually a recipient-side policy or relay access denied.
Can one address belong to several users?
Yes. The login map accepts several logins separated by commas. With SQL maps the query returns several rows.