Greetings! I have a Postfix + PostfixAdmin + Dovecot + Mailman3 install. My longer logs and configuration files are pasted here: https://pastebin.com/U0Ciy2i9
Virtual aliases and domains are managed by PostfixAdmin, but stored and confirmed by Dovecot. Postfix uses dovecot-lmtp to connect, confirm users, and transmit mail to local users. I am now attempting to install Mailman3. I have setup Mailman3 to receive messages via my mailman3-lmtp. I have used regex postmaps, generated by Mailman3, to help Postfix identify the email addresses controlled by Mailman3 and relay them through the Mailman3 transport. The transport maps properly trigger and tell Postfix to send the message to the Mailman3 lmtp: mailman3:[127.0.0.1]:8024. Frustratingly, Postfix instead posts the mapped Mailman3 LMTP as the postfix/lmtp "TO", but continues to use the dovecot-lmtp relay. This results in a log message that looks like the following: Host postfix/lmtp[22981]: C0EEEA8: to=<mailman3:[127.0.0.1]:8...@host.tld>, orig_to=<listname-confirm+h...@list.tld>, relay=Host.TLD[private/dovecot-lmtp], delay=566, delays=566/0.04/0.01/0.01, dsn=5.1.1, status=bounced (host Host.com[private/dovecot-lmtp] said: 550 5.1.1 <"mailman3:[127.0.0.1]:8024"@Host.TLD> User doesn't exist: mailman3:[127.0.0.1]:8...@host.tld (in reply to RCPT TO command)) As a result the message is bounced due to no such user. The regex postmap that was used when this message was generated was: /^List-confirm(\+.*)?@List\.TLD$/ mailman3:[127.0.0.1]:8024 I believe the most likely culprit is in how I have set up my virtual mailbox and transport maps in Postfix's main.cf: transport_maps = hash:/etc/postfix/transport,regexp:/var/lib/mailman3/data/postfix_lmtp virtual_alias_domains = proxy:mysql:/etc/postfix/virtual_alias_domains.cf virtual_alias_maps = proxy:mysql:/etc/postfix/virtual_alias_maps.cf ,proxy:mysql:/etc/postfix/virtual_alias_domains_maps.cf ,regexp:/var/lib/mailman3/data/postfix_lmtp virtual_gid_maps = static:5000 virtual_mailbox_base = /home/vmail virtual_mailbox_domains = proxy:mysql:/etc/postfix/ virtual_mailbox_domains.cf virtual_mailbox_limit = 512000000 virtual_mailbox_maps = regexp:/var/lib/mailman3/data/postfix_lmtp,proxy:mysql:/etc/postfix/ virtual_mailbox_maps.cf virtual_minimum_uid = 5000 virtual_transport = lmtp:unix:private/dovecot-lmtp virtual_uid_maps = static:5000 I have edited, re-edited, modified, tested, and poked at dozens of variations of these commands, but even when pruning it down to a minimum the Mailman3 transport map never triggers. The only way around it seems to be to set Mailman3 as the principal virtual_transport, but then it breaks Dovecot. I feel like I am missing something obvious here, either a basic syntax issue or a misunderstanding of how the transport maps actually work. I would greatly appreciate a nudge in the right directly. Thank you, Jay