announce-only mailing list

I'm still using SmartList from Procmail. Pity me.

I'm beginning to suspect that its bounce detection is no longer working reliably (the bit that goes "unsubscribe someone after mail to them has bounced N times"), but it's such an obfuscated line-noise piece of shit that... I don't even.

It's written in a combination of Procmail and sh, you see. Yeah. That's a thing. Or was, in the early 90s, when this thing was last actively maintained.

But my experience is that Mailman is even worse.

Do I still really have no choice other than "hire a spammer"?

This is for the DNA Lounge weekly mailing. That's the only mailing list I have left. But it is still a thing that must exist.

Features I want:

  • Handles mail with "subscribe" or "unsubscribe" in the subject or body.
  • Sends a confirmation message to validate the address before adding it.
  • Auto-unsubscribes after bounces.
  • Does not require me to expose a new web page to end users.

That's it. If it has other features, those features can actually be considered "liabilities" rather than "features".

Am I screwed?

Update: I was right, SmartList's "procbounce" program only processes the first address listed in a bounce message that has multiple DSNs in it -- and it also inexplicably truncates the message at a few hundred lines, meaning if there are more than a few dozen DSNs, it won't process any of them. Hooray.

Tags: , , ,

18 Responses:

  1. John Adams says:

    You don't have to expose the web interface if you don't want to.

  2. Ian McKellar says:

    Mail... kimp?

  3. Ken says:

    Did you want something that runs locally? I use MailChimp and am happy enough with it. It's free if you have fewer than 2000 subscribers.

    I'm not sure what you mean by "expose a new web page", but you can move your existing mailing list to it without anyone else having to do anything, and you can use your own web form or whatever to take subscribe info.

    • jwz says:

      I mean, most of the schmucks writing software these days think that "easy web admin page!" is a feature, but I think that means "here's a great way for your site to get 0wned because we don't have the slightest idea how to write secure code!!!ELEVEN"

      Some packages don't even support subscription by email. You have to go to a page and fill out a form, just like little Bobby Tables likes to do.

  4. phuzz says:

    On the surface it looks pretty easy to hack together, which means I'm missing something.

    • jwz says:

      Yes, you really are. Stop.

      • phuzz says:

        Yes, well, at least I'm now old enough to know that it's a bad sign if it looks easy, but in my defence I've been wrestling with CUPS all day which makes everything else look tractable.

  5. Well, there's always qmail and ezmlm-idx HEY OW STOP KICKING ME OW.

    dusts self off

    Well, there's always Google/Yahoo Groups? I might even be serious: if you don't give a shit about "engagement metrics" or pretty reports or any of the other bullshit that mailchimp/sailthru/etc want to sell you on and just want to run a damn mailing list, google groups more or less still does that. Their web interface is hilariously awful, but they seem to actually still support subscribe-by-email: send email to (It might still require hitting a web page to confirm the subscription, but we live in benighted times.)

    Of course, that only works until the day that Larry Page wakes up and realizes that Groups is still there and orders it shut down, but that can be 2019's problem.

  6. Michael Alan Dorman says: is small, seems largely sensible (though I will acknowledge that you are perhaps more opinionated on that), but doesn't handle subscribe/unsubscribe the way you want---it uses the mail-to-subscribe-address strategy.

    Perhaps you could handle that with a small shim, or even in the MTA---I'm fairly certain postfix's header/body checks, for instance, could manage that.

  7. Shevek says:

    Sendy looks like it ticks all your boxes:

    • Nate says:

      You mean "pushes all your buttons", right?

      Because I think MySQL + PHP is the exact opposite of what he asked.

  8. A Know-it-all From The Internet says:

    Mailchimp has their own "email as service" in the form of Mandrill. It handles all this crap for you and it's free up to 2000[?] emails per month and then pennies-on-the-email thereafter.

  9. Martin says:

    Isn't this the kind of thing that Lamson is supposed to make it easy to do? Having said that, it looks a bit like Zed's abandoned it, so maybe that's not a great idea.

  10. Jason McHuff says:

    No link to Mailman Considered Harmful?

    Also, just realized that there's Mailman Considered Beneficial, but it seems that the changing of delivery options could be done by mail, making the Web interface and passwords not needed.

  11. Eli the Bearded says:

    Still using Smartlist? When shellshock first hit and people were asking how do you set arbitrary env variables remotely, I thought of CGI (as did everyone else) and Smartlist. (Procmail in general does it, but Smartlist makes sure that you run other programs from Procmail.)

    To be fair, one bounce per message sure seemed a reasonable idea in 1992 or whenever.

  12. mattyj says:

    majordomo is an oldie but a goodie. It's maybe a decade newer than smartlist (latest release in 2001) and does all the things listed, with no web interface. We used it at my place of employ two jobs ago, which was only about two years ago. It was antiquated and 'kids these days' wouldn't understand the appeal of a purely perl mail list system, but it proved to be reliable in a 'holy shit, this 10 year old mailing list thing is still running?' kind of way.

    • Zygo says:

      Having done both multiple times, I can say authoritatively that writing stand-alone mailing-list SMTP servers in Perl is easier and less exploitable by spammers than figuring out how to configure Majordomo to bolt onto the side of a standard MTA like sendmail, exim, or postfix without subtle subscriber data leakage or posting access control issues.

      Once installed, though, majordomo does seem to last forever. My instance is old enough to drive. :-P