[SATLUG] Need scripting assistance

Brad Knowles brad at shub-internet.org
Sat Dec 22 02:46:33 CST 2007


On 12/22/07, Don Wright wrote:

>  Sure looks like spam. 8^) Think about it: You're sending exactly the
>  same message to thousands of recipients who didn't sign up for it
>  through a double-confirmed list. You're talking about a simple
>  broadcast, not a bounce-managed mailing list package.

The method of extracting the addresses should be kept separate from 
the method of contacting the recipients in question.

Since there is presumably a prior business relationship with those 
customers, it probably won't be considered spam from a purely legal 
perspective, but you're definitely in territory where a lot of the 
recipients might disagree with that interpretation.


However, on a purely technical level, with a decent hardware, OS, and 
software configuration, Mailman can certainly handle a list of 100k 
addresses, especially in an announce-only list (see FAQ 1.15 at 
<http://www.python.org/cgi-bin/faqw-mm.py?req=show&file=faq01.015.htp>).

>                                                           I expect Brad
>  will shortly tell you the effective lifetime of your ISP account will
>  be measured in milliseconds -- and why even if it gets out, the
>  inbound servers will detect and delete this flood of excrement, even
>  before the complaints hit every block list on the planet.

A lot will depend on the exact methods used to transmit the messages, 
and the type of account you have.  Many ISPs do rate-limiting for 
many types of customers, and they may block outbound port 25 access, 
thus forcing you to route all your e-mail through their mail servers 
-- the ones with the rate-limiting.

This issue comes up often enough with totally legitimate double 
opt-in mailing lists that we have several related entries in the 
Mailman FAQ Wizard, in particular FAQ 4.51 at 
<http://www.python.org/cgi-bin/faqw-mm.py?req=show&file=faq04.051.htp> 
which asks if Mailman has any built-in rate-limiting facilities since 
so many ISPs do rate-limiting on their mail machines and the 
customers don't want to get their account automatically nuked for 
abuse or get charged mega-bucks for over-usage, or whatever.  There 
are other FAQ entries that are somewhat related, but this one should 
be your starting point.


If you want to do any appreciable amount of customization/mail-merge 
functions on the outgoing messages, then a "real" mailing list 
manager like Mailman is not going to work for you (see FAQ 3.37 at 
<http://www.python.org/cgi-bin/faqw-mm.py?req=show&file=faq03.037.htp>).

Instead, you'll want a proper Customer Relationship Management 
system.  I don't have any personal experience with any CRMs, so I 
can't give you any particular advice in this area.  But I think that 
all the significant solutions in this space are commercial, as 
opposed to being freely available.

>  2) Import that file into a proper mailing list manager[2] - which can
>  then handle the generation of the 100K personalized emails in an
>  efficient manner - and handle the undeliverables so you don't get
>  overwhelmed with the flood coming back. Check with your upstream
>  provider on any limits to the traffic you're allowed, and set them
>  into the MLM so you don't get TOSsed.

 From a purely technical standpoint, handling the bounces properly and 
in an automated fashion is actually the single biggest issue that 
needs to be considered.

Consider at the same LISA'98 conference where John Viega (the 
original author of Mailman) was talking about the 1.0 beta version 
being able to handle hundreds of thousands of message deliveries per 
day on a low-end Pentium class machine with just 48MB of RAM, you 
also had Strata Chalup talking about all the multitudinous hoops that 
they were running into with what they characterized as one of the 
world's very largest mailing lists (the firewalls mailing list at 
greatcircle.com), which was running into untold amounts of problems 
with hundreds of thousands of message deliveries per day.

The one big difference was that Strata was using Majordomo, and John 
was using Mailman.

They were both using sendmail as their MTA, and Strata had already 
tried throwing considerably bigger hardware at the problem before she 
started going through all the various hoops that she ultimately ended 
up with.

In John's paper, he outlined that the key performance improvement was 
in the automated way that Mailman handled all the bounces.  I imagine 
that the queueing & retry mechanisms built into Mailman probably also 
help, but that would be very secondary.


But we do get back to that rate-limiting issue, and other factors 
where this particular use of this application is likely to get your 
account revoked and all Internet access for your business summarily 
terminated.

Neither you nor your boss are likely to want that to happen.

>  3) Now start using the provided tools to manage your extremely-valuable,
>  cleaned and verified customer mailing list and send them stuff _they_
>  find useful frequently enough that it becomes a relationship and not
>  junk mail.

The technical issues mentioned above are not your biggest problem. 
Not by a longshot.

Providing sufficient value to your customers that they don't all file 
lawsuits against you for spamming them -- that's actually your 
biggest problem.


If you can get the value proposition resolved before you send out the 
first message, then everything else becomes a relatively simple 
exercise in running some software for a few hours on a server 
somewhere.

-- 
Brad Knowles <brad at shub-internet.org>
LinkedIn Profile: <http://tinyurl.com/y8kpxu>


More information about the SATLUG mailing list