>> In order to get virtual users working, I've added three lines to the config: >> >>> table vusers file:/etc/mail/vusers >>> action "vusers" maildir junk virtual <vusers> >>> match from any for domain <domains> rcpt-to virtual <vusers> action "vusers" > > your match rule is not correct, I'm not sure what you want to do:
I want to accept mail for any of my virtual domains, for eMail addresses described in the vusers table (which contains a full eMail address (us...@example2.com) followed by whitespace, and the local user whose mailbox it should be delivered to. > - rcpt-to lacks a table parameter, but I'm unsure if it's even needed here > - virtual <vusers> can't be in the match rule, it must be in your action, > which is already the case I removed these items, and the error went away, but now I get 550 invalid recipient. I'm sending mail to test...@example2.com (a virtual eMail address at a virtual domain, mapped to an existing local user in the vusers table) from my old postfix mail server, external-mail-server.example.com. Maybe I need to change the order of my match commands? Here's the trace: 5c09782d5c150be6 smtp connected address=xx.xx.xx.xx host=external-mail-server.example.com lookup: match "external-mail-server.example.com" as REGEX in table static:<dynamic:0> -> false debug: looking up pki "mail.example.com" debug: session_start_ssl: switching to SSL debug: pony: rsae_priv_dec 5c09782d5c150be6 smtp tls ciphers=TLSv1:AES256-SHA:256 smtp: 0x1209188f000: smtp_cert_verify_cb: no-client-cert debug: smtp: SIZE in MAIL FROM command expand: 0xf569a012018: expand_insert() called for address:test...@example2.com[parent=0x0, rule=0x0] expand: 0xf569a012018: inserted node 0xf563c563000 expand: lka_expand: address: test...@example2.com [depth=0] lookup: match "xx.xx.xx.xx" as NETADDR in table static:<anyhost> -> true lookup: match "example2.com" as DOMAIN in table db:domains -> true rule #1 matched: match from any for domain domains action local_mail expand: 0xf569a012018: expand_insert() called for username:testing[parent=0xf563c563000, rule=0xf564fc2c380, dispatcher=0xf570e4aa210] expand: 0xf569a012018: inserted node 0xf5720788000 expand: lka_expand: username: testing [depth=1, sameuser=0] lookup: lookup "testing" as ALIAS in table static:aliases -> none lookup: lookup "testing" as USERINFO in table getpwnam:<getpwnam> -> none expand: lka_expand: user-part does not match system user expand: 0xf569a012018: clearing expand tree 5c09782d5c150be6 smtp failed-command command="RCPT TO:<test...@example2.com> ORCPT=rfc822;test...@example2.com" result="550 Invalid recipient: <test...@example2.com>" 5c09782d5c150be6 smtp disconnected reason=quit