Hello to all you postfix gurus. I'm running into a nasty problem (at
least for me.) I would be grateful for any help with this.
I have a setup with postfix that receives mail for a number of virtual
domains, runs it through spam checks, and reinjects it back into post
fix for final delivery. Once upon a time, my transport table entries
were used but now they seem to be completely ignored. It's driving me
nuts and I cannot figure out why this is happening. All I'm trying to do
is take a set of domains previously virtually hosted and forward them to
a new mail server during the DNS propagation delay period without
breaking the previous configuration which still works for one virtual
domain that will remain and will continue to deliver male locally using
the virtual LDA.
I keep getting: "Recipient address rejected: User unknown in <various
table>" where <various table> depends on my configuration and I have
tried many. I don't want any recipient address checking or validation or
delivery for these domains. I want transport to take over before those
users are rejected...or I want to allow postfix to accept mail for all
the users and then let the destination MTA handle user address
verification. Either way would be fine.
My transport looks like:
virtual-domain.com virtual:
forward-domain.com smtp:[###.###.###.###]
I have placed forward-domain.com into the relay_domains
I have left virtual-domain.com in virtual_mailbox_domains
Here are relevant parts of my master.cf:
smtp inet n - n - - smtpd
-o smtpd_proxy_filter=127.0.0.1:10024
-o smtpd_client_connection_count_limit=10
.....
rewrite unix - - n - - trivial-rewrite
rewrite2 unix - - n - - trivial-rewrite
local unix - n n - - local
virtual unix - n n - - virtual
anvil unix - - n - 1 anvil
localhost:10025 inet n - n - - smtpd
-o smtpd_authorized_xforward_hosts=127.0.0.0/8
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=
-o mynetworks=127.0.0.0/8
-o receive_override_options=no_unknown_recipient_checks
-o smtpd_restriction_classes=
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
My main.cf smtpd_recipient_restrictions looks like:
smtpd_recipient_restrictions =
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
check_recipient_access mysql:/etc/postfix/pre_recipient.cf
check_sender_access mysql:/etc/postfix/pre_sender.cf
permit_mynetworks,
permit_tls_all_clientcerts,
permit_sasl_authenticated,
check_client_access hash:/etc/postfix/pop-before-smtp
reject_unauth_destination,
check_sender_access mysql:/etc/postfix/sender_access.cf
check_client_access mysql:/etc/postfix/client_access.cf
check_recipient_access mysql:/etc/postfix/recipient_access.cf
reject_invalid_hostname,
reject_non_fqdn_hostname,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unauth_pipelining,
reject_rbl_client zen.spamhaus.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client dnsbl.sorbs.net,
reject_rbl_client dnsbl.njabl.org,
reject_rhsbl_sender dsn.rfc-ignorant.org,
reject_unlisted_recipient,
permit