Our company is merging with another company and newsletter now needs to go
out to more than 100.000 people. Before it was only a couple of thousands.
I have developed a mail queue using a database and a cronjob, but I am not
in doubt as to what particular solution I need to implement.
I have been running some tests with PHP mail() function, PHPMailer and
PEAR:Mail using 6000 mails at once.
Here's a sumarry of some of the results:
PHP mail() send out 6000 mails in 1.75 seconds.
PHPMailer using PHP mail() send out 6000 mails in 1.87 seconds.
PHPMailer using SMTP send out 6000 mails in 12 seconds (Error without
PEAR:Mail using PHP mail() send out 6000 mails in > 20 seconds (Apache
reached 100% during this time).
Running several test on PHPMailer using SMTP failed completely with more
than 1000 mails.
Everywhere on the net I read that sending out mail using PHP mail() is slow
and it is a bad idea and that using some mail class with SMTP directly would
be much better. I have tested the run my tests with Postfix as the SMTP.
I have gotten the best results using PHP mail(). When the volume is belove
6000 PHP mail() is by far the fastest.
Would someone mind sharing experience and perhaps shedding some light on
What is the best solution in real life dealing with huge amounts of mail?
PHP mail() vs. some class using SMTP or binary sendmail (or wrapper)?
All insights would be appriciated.