NOQUEUE: reject: RCPT from on freebsd and postfix
FYI, 454 4.7.1 <[email protected]: Relay access denied;
was the result of defer_unauth_destination. It's slightly different with reject_unauth_destination, with reject means permanent error with code 550 and defer means temporary error with code 450.
But wait..., I don't have any parameter that use defer_unauth_destination. Where does the weird restriction come from?
Actually, postfix has one hidden restriction parameter called smtpd_relay_restriction
. It is new feature so older tutorial may not covers it. By default, smtpd_relay_restriction has value
# postconf smtpd_relay_restriction
permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination
So, that explains where the defer_unauth_destination
But it didn't answered my question about my client getting rejected :(
The behavior of (defer|reject)_unauth_destination was documentation in postfix manual pages.
reject_unauth_destination
Reject the request unless one of the following is true:
- Postfix is mail forwarder: the resolved RCPT TO domain matches $relay_domains or a subdomain thereof, and contains no sender-specified routing (user@elsewhere@domain),
- Postfix is the final destination: the resolved RCPT TO domain matches $mydestination, $inet_interfaces, $proxy_interfaces, $virtual_alias_domains, or $virtual_mailbox_domains, and contains no sender-specified routing (user@elsewhere@domain).
In simple terms: postfix will check the recipient address. If domain part wasn't defined in relay_domains
(or its subdmomain), $mydestination, $inet_interfaces, $proxy_interfaces, $virtual_alias_domains, or $virtual_mailbox_domains, then postfix will reject it.
In your logs above, the recipient was [email protected], so it is obvious why postfix rejecting it.