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

Reply via email to