Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How to run an old-school mailing list?
65 points by sph 8 months ago | hide | past | favorite | 60 comments
I'm not talking the newsletters that are in vogue these days. I'm talking about about the classic mailing lists that are common in the open source world, where you reply-all and everybody can chime in on a topic.

I am considering starting one with a select few to talk about software and our side projects, to brainstorm and talk shop, without the urgency of chats like Discord or IRC, and with much less friction than a regular forum. I find I have no patience for these, while email is king and doesn't demand immediate attention.

My questions are:

- how hard is it to run a classic mailing list? How to deal with spammers, etc?

- is there any kind of good mailing list cloud service? Or is running it on my own VPS the best approach?

- is GNU Mailman still the gold standard? Is there something more modern?

Also, in case this idea of a mailing list to talk and brainstorm with fellow programmers sounds interesting to you, send me an email. I don't want this to be a huge thing, but just a place to share cool code, ideas and discussion with a small group of people, with no urgency and at our own leisure.




i run several mailing lists for my community. it's a pain. of all my self-hosted projects, mailman 3 gives me the most ongoing trouble. it's a very complicated piece of software and it's running in an increasingly hostile internet. i literally just spent an entire day finally setting up ARC and learning arcane things about how DMARC and SPF validation will still fail when you've ARC-signed your mailing list messages, but it's okay because lots of providers (really, gmail) will give you "points" for the ARC signing, but also you still should enable conditional DMARC mitigations in case the sending domain has a very restrictive DMARC policy, at which point mailman 3 will munge your From headers making list replies get all janky and confusing for all your non-technical participants.

i don't want to be on a mailing list for a bunch of random unrelated people who don't know each other and have no reason to be civil to each other. mailing lists for shared projects make sense, and mailing lists for people who otherwise are somehow engaged in community. a mailing list for random people sharing cool ideas honestly sounds it will either totally die, or will first become really controversial and THEN totally die. even in my social circle, some of the mailing lists i ran were torn apart by politics and people splintered off to start their own mailing lists without the people with "problematic" opinions, only to learn that the "problematic" opinions were what fueled the whole shebang.


> […] mailman 3 gives me the most ongoing trouble. it's a very complicated piece of software and it's running in an increasingly hostile internet.

Given that Mailman 2's code was heavily written with Python 2.x in mind, and Python 2 was officially deprecated, I kind of understand why the maintainers felt it would be easier to rewrite things from scratch… but I think Mailman 3 suffered from a form of second-system effect [1] as it seems way more complicated than MM2.

[1] https://en.wikipedia.org/wiki/Second-system_effect


Thank you for your perspective and sorry for the silly question: can't stupid people be booted from a mailing list? I assume well-intentioned spammers to get around any ban, but I imagine an invite-only mailing list can be told to drop everything sent or received from a particular email, no?

My naive hope is that a mailing list with 10 strangers will not devolve into utter chaos immediately. It might fade into irrelevance, sure, but that is just how entropy works.


> can't stupid people be booted from a mailing list?

Of course. If you're the BOFH of the whole thing, you don't even need to get anyone else's approval.

But if you do want the community to weigh in on who's "stupid" and who's not, then suddenly you might discover that three out of your ten members actually think that the person in question is a genius and is holding the whole thing together. Four members might think that booting anyone out at all runs counter to the purpose of your mailing list. Two people will privately email you and the "stupid" person, trying to somehow play both sides for no reason you can comprehend. One person will say that if anyone gets kicked out, they'll leave two.

And all those numbers may overlap!

Moderation is hard.


That sounds easy to solve - tell them to go pound salt. If it's a private mailing list where you're judge, jury, and executioner why would you cater to people who are looking to cause problems? Let them leave, there's a billion more people out there to join your list.

Moderation is easy. Moderating without hurting the feelings of anonymous strangers is hard.


The list is basically dead, has been for a while, but in its heyday had a very effective moderation by mockery and abuse: The Cult of Father Darwin (https://slashdot.org/comments.pl?sid=3209&cid=1412491).


> That sounds easy to solve - tell them to go pound salt.

Then your life becomes easy, because your mailing list becomes empty.


yes, a community can be cultivated. it's okay okay if it's just a moment in time and is meaningful for some and then people move on, it's also okay/wonderful if it takes off and becomes a haven of sanity and togetherness. i'm sorry if i came off as too jaded, i don't mean to dissuade you from trying, and i'm glad you're thinking about it!

feel free to ping me if you want more technical tips, or if you want to use my mailman instance instead of trying to shave that particular hairy yak.


Maybe if you have an easily-accessible list of best practices to run mailman, I'd love to know. I won't lie to you, hearing you talk about DMARC and SPF makes my hair raise already, I hate dealing with SMTP, and I hoped it would be possible to set Mailman up leveraging third-party platforms (i.e. Postmark, Mailgun, etc.) so I wouldn't have to deal with that nonsense.


One very simple option is Google Groups.

But to your questions:

It is not hard to run a mailing list, if you know how to run a mail server, and are familiar with text based config files. Running the mail server and sorting out DKIM SPF DMARC will probably take some research. Dealing with RBLs etc is annoying but can be accomplished if you're on a netblock with a good history. You probably are not though.

Spam is not an issue, if your membership is invited, approved, or moderated.

Mailman is "fine". Set it up once and it works forever. Getting it set up is a fair bit of work, the first time. Mailing lists end up being fairly complicated things, and -- at least as of the last list I ran on Mailman -- these things are not optimized for operator experience.

For a very small and manually curated membership, you could just use an alias on your mail server. Mailing list software just automates sub/unsub actions, digest, archives, etc. You might not need any of that.

These options are either fun projects, or they are headaches, depending on your goals. If the latter, it's infinitely easier to set up Google Groups. When I shut down the last mailing lists on my servers, most of them transitioned to GG and there have been no complaints from the new operators (who were neophytes).

All the usual caveats about Google apply of course. Most people don't care.


I work with SPF and DMARC, and still learned things from this recent post on HN.

https://simonandrews.ca/articles/how-to-set-up-spf-dkim-dmar... and https://news.ycombinator.com/item?id=39712634

It honestly isn't that bad, but it falls into that kind of thing you do once a year and then forget in between. Don't let that stuff discourage you, you'll have much bigger problems with humanity on a mailing list unless you commit to really keeping on top of the community.


I'm on a list or two that are run through https://groups.io/ and it works well. I also run a few private mailing lists on mailman and am loath to ever apply patches to that machine - it is complicated to set up, but works fine once done. In a greenfield implementation a docker installation might be better https://docs.mailman3.org/en/latest/install/docker.html


Seconding https://groups.io/

I'm in a number of amateur radio and computing groups there, and it works well.

From the creator: "I’ve started three companies. I started ONElist, an email groups service, in 1997, and it was acquired by Yahoo in 2000 (where it was renamed Yahoo Groups). I started Bloglines, an online RSS aggregator before Google Reader was a thing, in 2003, and it was acquired by Ask Jeeves in 2005. I started Groups.io, an email groups service, in 2014, and I still run it." - https://www.wingedpig.com/about/


groups.io looks good. But are they all public lists? Is there an option to have a private one?


Private is supported too.


I've been writing a new mailing lists manager on and off over the years. Deliverability and failure tolerance and recovery scare me a lot regarding mailing lists.

My project is by no means ready for production but people interested to contribute are always welcome:

https://github.com/meli/mailpot

Dogfooded mailing lists and archives:

https://lists.meli-email.org/


hello,

fwiw ... personally i still use GNU mailman - but version 2, not the more current version 3.

why!? idk, version 3 seems unnecessary "bloated" in comparison to the older and "somewhat" easier-to-use version 2.

but for a new setup, i would definitely go for example with mlmmj - i'm even considering migration to it from my aging mailman2 setup :))

* http://mlmmj.org/

[disclaimer: i've used djbs ezmlm back in the days ... and i'm still a big fan of his software / approach to software.

but over the years keeping it running / maintaining it was a bit annoying, so i switched

* https://cr.yp.to/ezmlm.html

:]

just my 0.02€



I'm working with mlmmj since a few years and am happy with it. Some functions that edit headers (like prepending a text in the subject) should not be used in environments where users can have mailboxes everywhere (not just on your local domain) because it invalidates DKIM signatures...


Thanks for the link to mlmmj !

I agree that ezmlm was the high point of mailing list software. :)

mlmmj looks like a properly-conceived modern option to consider though!


I've run one small list, a few hundreds subscribers, a long time ago. I used a now defunct service based on free software... mailman? I can't remember. One idea: see what popular open source projects are using. I wouldn't self-host it, mail is a PITA to configure. Much better to use some service.

Technically it's very easy. Some lessons learned:

- Configure it so when someone replies to a message, it's sent by default to the list. Some think it's better to reply to the person that sent the message you're responding to, but that's terrible: a lot of messages get sent privately when that wasn't the intention.

- Resist to the temptation of moderation. You'll become a slave.

- No messages accepted except from subscribers.

- If at all possible, avoid automatic subscription. Force people to write to you and acknowledge that there's a person maintaining the list and that there are rules. Write down the rules, publish them and sent them in a private message to every new subscriber.

- Have a web page for the list, bonus points for a private file-exchange space.

The worst part is people. Some of them are a piece of work. If a few dozens are reunited, you're guarranteed to have some guy that doesn't want to be your friend. As soon as you notice someone is overly confrontational with you, just drop the conversation with a closing "maybe you're right, there are several ways to look at it" and limit yourself to a referee role. If the discussion of this person with others gets too hot, then have some rule to stop it. The silent majority wants a calm conversation, so be confident that they will support you.


You definitely want to use public-inbox: https://public-inbox.org/README.html

It's the same software used by the official Linux Kernel Mailing Lists: https://lore.kernel.org/

- It lets people `git clone` the archives and then `git pull` from them incrementally, so you get the same "distributed backups" that git provides.

- It also provides high-quality (Xapian) fulltext search, RSS/Atom, and NNTP access.

- It doesn't artificially fracture mailing list threads at month boundaries. I know this sounds like a trivial feature, but I'm constantly astonished that most other mailing list archive software does this. It's so irritating.

- Most important of all, it provides a smooth migration path away from SMTP-push for mailing lists, which has always been the big headache. Most of the problems with email go away when you switch from push to incremental-pull. Unsurprisingly, git is the perfect tool for doing incremental pull.


I think it might be better if they allow posting on NNTP as well as only reading. (An account could be required if that is really necessary.) Other than that, it look like good to me.


I did some research on the topic and focused on minimizing the cost per member (we are only a group of 5), simple UI, and having a searchable archive for all emails and having all the attachments indexed in an archive.

I settled on https://gaggle.email/

It is not the most fully featured, there is one that allowed to tag discussions that seemed very appealing, but out of budget.

The other ones I found are: - https://www.emaildodo.com/ - https://mail-list.com/ - https://www.simplelists.com/ - https://groups.io/

I opted out of self hosting for this because i don't want to deal with emails myself


Semi-related question: Is mailman still storing passwords in plain text?

I remember a time, not that long ago, where I regularly got mails from mailman telling me my current password.

Of course, people should never reuse their passwords anywhere, but people still do. Back then I looked into the topic and getting mailman to encrypt passwords wasn't simply changing a setting.


Mailman is most common, however discourse also has a mailing list mode which allows people to get involved and reply by both email and web.

Your biggest hurdle will be email deliverability.


I've spent a lot of time looking into this for non-profits I am involved in. Currently, I use Mailgun's Mailing List feature which is pretty good, but has a few warts and doesn't really seem to be in active development.

But I have half a mind to develop a Django-based system specifically for non-profit member management, build a postgres view on top of the Django tables and and have a postfix mail server reference that postgres view for mailing list delivery. I would use Mailgun or another SMTP relay to minimize deliverability issues.


I do not manage a mailing list, since the one I have set is not active, but I found Mailman 3 to be too resource-hungry, so went with much more lightweight mlmmj for mailing list management, and MHonArc for archiving. At least the initial setup is fairly easy with those, once you have postfix set. Probably not hard to set them with Exim, either, while Courier apparently includes mailing list functionality out of the box (though I have not tried that).


A lot of communities use Discourse (https://discourse.org).

LPSF (https://forum.lpsf.org) migrated to it when Yahoo Groups was discontinued.

Some of the advantages are that it's open source, self-hostable, and can be configured to work as both a traditional mailing list and modern forum.


I struggled with a few different solutions for this and finally just settled on an alias on my existing fastmail account under my custom domain.

Works fine and zero hassle. I think it's fine for the kind of mailing lists you describe.


The purpose of the mailing list software is managing subscriptions, etc. For a small and semi-private list like you are describing a simple alias/.forward is easier to maintain.


These days, due to SPF and DKIM, an email from MTA mail.a.com, being forwarded by MTA mail.b.com will almost certainly result in bounce at best.

So you cannot easily have a mailing list, where 5 friends can email list@b.com, and each receives a copy. It'll just bounce. And worse, you'll get downgraded at the big boys, and then your other mail will bounce too.


If you want to roll your own there is a mail client I have been using called himalaya which exposes JSON endpoint for mail stuff. It could be used to write a mailing list feature.


I used mailmanlists.net for a few years and it worked very well.

(No association)


You kids today and your new fangled 'old school' references.

As someone born before the cola wars, the title of this thread was very misleading.


I was using qmail and ezmail mail list management. It was years ago an feel easy. I don't know current state though.


Could you start a WhatsApp Group or use the (newish?) Communities feature?


For a hosted option, source hut includes mailing lists as a feature a la carte.


Looks like most of the ones I'm on use mailman.


What about self-hosting? There's listmonk.app


That's for newsletter, not old-school mailing lists. (The marketers stole our name, what the heck should we call them now?)


Frankly, mailing lists were in existance prior to email or computer data processing, as in mailing publications/advertisements/pricelists to a list of subscribers/victims.

We stole their term, and they're stealing it back. Seems fair.

I don't have an OED subscription, but in the free fact sheet, they note "OED's earliest evidence for mailing list is from 1898, in Overland Monthly."

https://www.oed.com/dictionary/mailing-list_n?tab=factsheet


And why would they say "for newsletters AND MAILING LISTS" in their 1-sentence description? You can file a bug report if it's not a mailing list at all.


Look into TopicBox from Fastmail


Set up a Google group.

They’re free mailing lists.


This reinforces their control of internet standards, and they're not free, you're paying with your data.


> Set up a Google group.

Is it actually possible to sign up with a non-Gmail account? Because I've tried on a couple of lists, and it never seems to work.


I have successfully signed up to a google group with a non-gmail account, although I had some difficulty finding the instructions for doing so.


I'd rather not depend on Google and their UX is terrible, but it's a good shout nonetheless.


My experiences, though a few years old, boil down to this:

* Spam isn't really a problem if you only allow members to send mails to the list

* Moderation effort really depends on the size. If you have 10 or maybe 20 well-behaving members, no moderation effort at all. If you 2k people getting into vim-vs-emacs flamewars, good luck...



Don't. There are more modern and superior solutions like e.g. Discourse. I don't see why people should use old-fashioned things like mailing lists in 2024.


I do not have to time to hang about in forums, nor to idle on Discord or IRC.

E-mail, on the other hand, is a constant. I can snooze it, read it on Emacs, file it with custom rules, deal with it however I want. It doesn't require any particular app, any particular form of formatting, it doesn't give me points, badges, weekly recap emails, or require me to upload an avatar.

I feel mailing lists are underrated, and reading from this thread, it's mostly because the software to run them is as intuitive as Sendmail.


Note that Discourse can be used in "mailing list mode", so you don't have to leave Emacs.


Discourse has terrible UX compared to other online forums and even mailing lists.

Your claim that it's superior needs to clarify exactly what is superior about it.


Is Discourse easily searchable from the outside? I was looking up transaction behavior in Postgrsql last night. I came across such an old school mailing list. The utility was that it appeared rather high in the search results.


The OpenStreetMap community decided to go the discourse route after a review of requirements and options available.

See https://wiki.openstreetmap.org/wiki/Community_forum

Talk about discourse for OpenStreetMap: https://www.youtube.com/live/VkZJd-4C1Ws


In my experience, Discourse forums do appear high in search results as well. The added benefit is that they have a good UI to read old threads, unlike mailing lists.


discuss.python.org comes up in my search results, sure.


Reminder: 'modern' and 'old-fashioned' are political epithets, not measurable quantites.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: