Steven Jones via Mailman-Users writes: > How do you handle the mail routeing? Ie its done inside postfix I > assume?
Yes. The Postfix routing algorithm is deterministic and well-documented. In the simplest case where Mailman has a dedicated MTA (aka smarthost) that serves only Mailman lists and the required adminstrative addresses (postmaster, abuse, webmaster, etc), you just put transport_maps = hash:$PATH_TO_MAILMAN_3_HOME/var/data/postfix_lmtp # This local_recipient_maps = $EXISTING_MAPS # usually local users (root) and /etc/aliases hash:$PATH_TO_MAILMAN_3_HOME/var/data/postfix_lmtp relay_domains = hash:$PATH_TO_MAILMAN_3_HOME/var/data/postfix_domains # should already be set for Mailman 2 recipient_delimiter = + If your existing configuration puts your Mailman 3 domain in either 'virtual_alias_domains' or in 'virtual_mailbox_domains', you need to use the alias domain feature of the mailhost configuration, and add virtual_alias_maps = hash:$PATH_TO_MAILMAN_3_HOME/var/data/postfix_vmap This configuration is explained in detail in https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/mta.html#postfix You can also use other static databases such as regexp: (slower than hash:, but no postmap needed) or lmdb: (faster than hash;). I have an in-process merge request [1] (waiting on docs and tests, mea culpa) that allows use of SQL (specifically PostgreSQL, but should generalize to SQLite or MySQL) which speeds up the migration process dramatically for large (> 500 lists) sites. Effectively zero downtime can be achieved by moving each Mailman 2 config.pck file out of the lists/$LIST directory before migrating it. (I have a script for this but I may need to clean client-specific data.) Generating the var/data/postfix_* files can take many seconds with a large number of lists, and during that interval posts may bounce back to senders. It may be possible to configure Postfix to return a temporary failure status but I haven't investigated that. Direct use of the database via the MR mentioned cuts the worst case race to subsecond. Footnotes: [1] https://gitlab.com/mailman/mailman/-/merge_requests/1161 Successfully used in production on a 20K list system and a 5K list system since 2024. -- GNU Mailman consultant (installation, migration, customization) Sirius Open Source https://www.siriusopensource.com/ Software systems consulting in Europe, North America, and Japan ------------------------------------------------------ Mailman-Users mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3/lists/mailman-users.python.org/ Mailman FAQ: http://wiki.list.org/x/AgA3 Security Policy: http://wiki.list.org/x/QIA9 Searchable Archives: https://www.mail-archive.com/[email protected]/ https://mail.python.org/archives/list/[email protected]/ Member address: [email protected]
