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:
- announce@lists.mariadb.org: an announce-only low traffic list;
- docs@lists.mariadb.org: a list for people interested in MariaDB documentations and in our Knowledge Base;
- discuss@lists.mariadb.org: a list to discuss about usage questions of the MariaDB project;
- developers@lists.mariadb.org: a list for people that want to participate in MariaDB & Maria engine development.
- packagers@lists.mariadb.org: a private list for MariaDB packagers. Among other things, we use this list for the early full-disclosure of security vulnerabilities.
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.