Centralise all our mailing lists

We use a couple of mailing lists for discussing various topics with our community. For historical reason, some lists were hosted at http://lists.askmonty.org and other at https://lists.launchpad.net.

Regrouping our mailing list under the MariaDB Foundation domain was a long overdue topic and I finally decided to tackle it. This simplifies mailing list management and brings full control over how we send our emails (see bellow: SPF, DKIM and DMARC).

In this post I will present the new mailing list system that we have deployed and how we proceeded to moving to that new system.

Mailman 3: the logical choice

Both legacy systems were relying on the “old but widely deployed” 2.1 Mailman version, though Canonical folks developed a simplified web interface.

After deep diving into the new Mailman3 documentation I decided to go with that version since it seemed perfectly ready for production (the project as been completely rewritten and some feature from version 2 are still to be implemented though).

I must admit that having a full working Mailman3 setup in 5 minutes with their docker-compose deployment option was very promising… and yes, my experience of deploying Mailman2 10 years ago was still a bit traumatic as all the pieces were not so well integrated together (mailman core, web interface, archiver, indexer).

Finally, the fact that the Mailman3 suite heavily relies on the excellent Django project and the fact that we have a Django expert in the MariaDB Foundation made me feel confident about relying on that version.

Moving from askmonty.org mailing list

Moving the following mailing lists was just a matter of following mailman 2.1 migration documentation and handle some SMTP and DNS setup (this was not the easiest part though, see bellow: SPF, DKIM and DMARC):

  • announce@mariadb.org, an announce-only low traffic list;
  • packagers@mariadb.org, a private lists for MariaDB Linux distribution packagers.

Those mailing lists were on the mariadb.org domain but they were technically managed on a host in the askmonty.org domain (until now we re-routed those emails and rewrote the envelope, not optimal, more on that later). Now please use <list-name>@lists.mariadb.org.

For current members of those mailing list, there is no specific action required since the whole configuration has been imported and users were subscribed to the new mailing lists. Public archives have also been imported in the new system (they are also available on the mail-archive and will continue to be).

If members want to update their preferences via the web interface, they must sign-in to the new Mailman3 instance. It was not possible to import accounts from the old Mailman2 version because Mailman3 has a completely new account management system. The good news is that you only need one single account to manage all your mailing lists subscriptions.

On the other hand, having an account is not mandatory. As with previous Mailman2 version, it’s possible to manage a lots of things by email. Just send an email at <list-name>-request@lists.mariadb.org with help as the subject or in the body and you will receive the list of available email commands.

Moving from launchpad.net mailing list

Since we don’t have control on the https://lists.launchpad.net infrastructure and the management interface does not permits us to get the Mailman configuration file (config.pck) and archive (list-name.mbox), I had to request those from Canonical folks. First on IRC and then the proper way, by opening a support request. After quite a long waiting time, they finally provided us what we needed to proceed and then it was just a matter of following the official migration documentation again, https://docs.mailman3.org/en/latest/migration.html.

However, we decided to rename mailing list names as follow:

  • maria-docs@lists.launchpad.net to docs@lists.mariadb.org;
  • maria-discuss@lists.launchpad.net to discuss@lists.mariadb.org;
  • maria-developers@lists.launchpad.net to developers@lists.mariadb.org.

We’d like to thank Canonical for hosting some of our lists for over 10 years!

SPF, DKIM and DMARC

Sending email is very simple, making sure your email actually gets delivered and does not end up in Spam folders is another story. I will not detail here how we implemented all those protocols, there are plenty of very good documentations on the topic.

If you take a look at email headers that we send through the new mailing list system, you should see that we are now respecting all these standards.

spf=pass (spool.mail.gandi.net: domain of announce-bounces@lists.mariadb.org designates 95.217.221.131 as permitted sender) smtp.mailfrom=announce-bounces@lists.mariadb.org
dkim=pass header.d=lists.mariadb.org header.s=lists.mariadb.org header.b=Tgaaguxl;
dmarc=pass (policy=none) header.from=lists.mariadb.org;

As you can see the DMARC policy is still configured with none and this is going to change in the future (quarantine or reject). This was in fact one of the motivation of this move.

Regarding DMARC, we have also configured all mailing list to take this in consideration.

Which mailing list for what?

Here is a quick overview of our mailing list and their purpose:

You are more then welcome to subscribe to those an participate!

Conclusion

As said earlier, sending email is not easy for small actors. Even if we do our best to respect standards (SPF, DKIM and DMARC) we will have to make sure that our new Mailman3 instance IPs gets a good reputation and that our emails are delivered or do not end up in your spam folder.

Please reach out to us if you encounter any problem with the new setup, the easiest way is by dropping us an email at <list-name>-owner@lists.mariadb.org or on Zulip.