[ILUG] Programmatic mail sending with Postfix
philip.reynolds at rfc-networks.ie
Thu Apr 8 11:11:09 IST 2004
Niall O Broin <niall at linux.ie> 40 lines of wisdom included:
> I didn't know that - and it explains why postdrop is not so fast.
> >You can use QMQP, but from what I've seen, I dislike it.
> DJB's stuff give me hives. QMTP seemed like a nice idea (i.e. the concept of a
> faster MTP) but then what does he do - decide to send the whole mail first so
> you can't do envelope based rejection (RBL) until you've received the whole
> mail. How dim is that?
> >If your messages aren't unique, and you literally have one message
> >to send to a couple of thousand recipients there should be a
> >negligible overhead in using QMQP/ESMTP pipelining.
> But there's the rub - the messages ARE unique. Personalised spam - can't beat
> it :-) C'est la vie.
I wrote a small PERL script last night night that spawned N
instances sending X mails. My quota of e-mails to send was 10,000
and I was delivering it to a stock Postfix install (and all to one
e-mail user in mbox format).
Without fork'ing and using one instance of the deliver script,
10,000 messages took a little over 16 minutes to send.
Using 20 instances (each sending 500 mails), it took a little under
2 minutes (1 minute 52) for my PERL script to return and say all
messages were delivered.
The best way to inject these mails would be to create a separate
smtpd instance (in master.cf) listening on localhost which you can
then tune separately from the rest of the system.
Personally, I don't think 2 minutes is a shabby time for 10,000
e-mails (roughly 3k in size). Keep in mind, zero optimization,
low-end desktop hardware and low-end desktop disks. It's just
something to think about.
Philip Reynolds | RFC Networks Ltd.
philip.reynolds at rfc-networks.ie | +353 (0)1 8832063
http://people.rfc-networks.ie/~phil/ | www.rfc-networks.ie
More information about the ILUG