eboltz@lhtservices.com writes:
When I check the /var/log/mail.log without the sender_canonical_maps setting enabled,
The meaning of "canonical" here is that this is the original and universally acceptable accept-no-substitutes-or-aliases version of the sender's address. If you don't want to see it *literally everywhere* in the header of a message coming out of Postfix, you shouldn't put it in a canonical_map.
then the initial email sender is either rejected because 'Recipient address rejected: User unknown in virtual alias table'
Postfix is configured to relay only local senders to anywhere, or remote senders to local recipients and to relay_domains. This means that the list address doesn't look like a local address (I think it's a bad idea to set myhostname=localhost!) and it isn't in relay_domains (not sure why that might be if the postfix_domains file is present as a compiled .db), so the last try is virtual address (Postfix's way of delivering a possibly remote recipient address to a local recipient).
You should use postconf to check that all of the my* variables are set sanely.
or '550-From header sender domain not verified (example.com), 550-On your sending Verified senders page 550 verify the sender domain or email to be allowed to send'
Not sure where the "example.com" is coming from. If that is being set by the remote smtpd (smtp2go?), and isn't a hard-coded string, something's wrong either with your Postfix configuration or your test email -- that should be the envelope sender domain, which should be your host. The example.com domain actually exists, and I'm sure it doesn't allow you to send email!
As others mention, you probably need to have a valid SPF record in your DNS for your host as well.
Here is my main.cf setup
Check that both the .txt (produced by Mailman) and .db (produced by /usr/sbin/postmap) files exist for the postfix_lmtp and postfix_domains maps. The function that produces the .txt source is supposed to call postmap to generate the compiled .db database, you shouldn't need to do it by hand. But that's the only Mailman-specific reason for the "not in virtual address table" message. Postfix itself only looks at the .db file, it will not compile or even read the .txt.
transport_maps = hash:/var/lib/mailman3/data/postfix_lmtp local_recipient_maps = hash:/var/lib/mailman3/data/postfix_lmtp relay_domains = hash:/var/lib/mailman3/data/postfix_domains
Make sure there are no Mailman mailing lists in the aliases file.
alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases
As mentioned, this is not a good idea:
myhostname = localhost
Steve