0

I was wondering if anybody here has any best-practice advice on what infrastructure software to use to send an e-mail message to hundreds or occassionally a few thousand people. The same list of recipients will never or hardly ever be used twice. I was thinking of just putting everybody in BCC, and let plain ol' Postfix handle the delivery, which is something that has worked out quite well in the past. But one of our sysadmins would prefer me to use SOAP calls to connect to a SYMPA listserver, create a temporary list, add all addressees to the list, send an e-mail to that list, and then remove the temporary list. His reasoning is that a listserver can better handle hundreds or thousands of addressees than postfix, sendmail, exim or whatever.

From a developer's perspective, creating lists for things that aren't really lists (they're used once and once only, they're not user-facing, you can't subscribe or unsubscribe to them) gives me the heebie-jeebies, but if that's really the best way to do things, I'd be happy to accede to his request. Which is why I landed up here: is it really so that sending a sizable volume of e-mail traffic straight through a regular mailserver is indeed a bad practice and to be avoided? If it's a bad practice, is the listserver solution a good idea? If not, any other suggestions?

Context: I work at a university and I'm currently developing an application that allows deans to send very targetted e-mails to groups of people, e.g. send a mail to all senior students in Chemistry who are over 30, to alert them of an exciting new program they are setting up for students who were previously active in the industry. They select those criteria in a simple web interface and send their mail via that same web interface.

Thanks!

  • @user59645 - As a developer it makes the most sense to go along with a sysadmin's implementation request. It may be his responsibility to keep your application working after you've moved on to bigger and better projects. Regardless of whether you agree with his reasoning, spending time to do things the way systems wants should make sense to your manager. – danlefree Nov 09 '10 at 09:02

2 Answers2

1

His reasoning is that a listserver can better handle hundreds or thousands of addressees than postfix, sendmail, exim or whatever.

Either you've not understood his argument or he doesn't know what he's talking about.

There are some good reasons for using sympa - but this is not one of them. If you're not using its facilities for managing subscriptions, handling bounces, integrating with backend systems like LDAP, digest lists, archiving.....then its just an additional overhead.

MTAs only do 3 things

  • queue messages
  • route messages
  • pass messages on to other systems

Do you really believe that your sysadmin thinks that the systems he maintains are failing in at least 30% of their functionality?

MTAs are very good at managing queues. Certainly it's a messy approach to shove an undefined number of recipients into the bcc field of an email - and this would better be done in chunks of say up to 20 at a time.

However these days life's a lot more complicated than just firing out emails - if you're expecting to send hundreds or perhaps thousands of emails to external addresses (or even in some cases to internal addresses) then you need to be very smart about how you configure your mailserver to avoid looking like a spammer. But this has very little to do with whether you use a mailing list manager like Sympa or not. Exactly how you go about this would fill a small book - so there's not much point in starting here - especially if you don't manage the MTA's at your site.

Go back and speak to the sysadmin, ask for an explanation of why you need to use Sympa and what problems it solves.

symcbean
  • 19,931
  • 1
  • 29
  • 49
0

I agree with symcbean: go back to your sysadmin and discuss this topic. Your sysadmin probably has reasons for the use for SYMPA - if not other, then just for the sake of consistency.

Anyway, shoveling e-mails to Sendmail/Postfix/Exim queue is very easy. For a shy amount of couple of hundreds or thousands of messages anything will do, even something like

#!/bin/bash
cat your_message.txt | mail -s 'Now THIS is what you have been waiting for' recipient@foo.com
cat your_message.txt | mail -s 'Now THIS is what you have been waiting for' recipient2@foo.com
cat your_message.txt | mail -s 'Now THIS is what you have been waiting for' recipient3@foo.com

... especially if you really don't need to analyze anything afterwards.

Configuring your e-mail server to not look like a spammer is a bit trickier, but still doable. But that's the job for your sysadmin and might well be one of the reasons he wants to stick with SYMPA. Maybe it's configured carefully with love to be gentle to other SMTP servers out there.

And what's so bad about just suddenly sending out lots of e-mail from some random server?

A lot.

For example, due the spam many e-mail servers have all kinds of anti-spam techniques installed. One of them is checking if the remote SMTP client is found from some black list. Just blindly sending out 2000 e-mails from some server is a great way to get your server -- or even your network block -- to some of the blacklists.

Even if you don't end up to some black list, the spam filters out there might not love your e-mails and quarantine the messages as spam. Or permanently discard them. You probably want to make sure that at least most of your messages will be delivered to some other destination than /dev/null.

Sending out e-mail -- mass-emailing even more so -- is becoming a form of art and black magic due the spam. You don't want to look like a spammer when you send out lot of legitimate e-mail. That's why stick to whatever your sysadmin tells you, at least if (s)he's a trustworthy one. We sometimes set up strange nazi rules, but there ARE reasons for them.

Janne Pikkarainen
  • 31,454
  • 4
  • 56
  • 78
  • Staying clear of spam-detection algorithms and black lists probably won't be a problem -- this stuff will be sent from an internal server, through an internal mailserver to internal mail addresses. That said, I'll definitely ask around. Thanks for the advice! – Stijn Debrouwere Nov 09 '10 at 16:00