Sending Mass Emails.. Best approach?

Is it best to use software such as CampaignMonitor or MailChimp?

I am currently setting up an email script which the client is suggesting he might be sending up to 1000 emails with.

Is it simple or possible to set up email tracking to confirm email was received, or delayed? Or is this something best left to professional dedicated software.

I have also noticed when using the php mail(); that emails are delayed anywhere up to 2 hours. Some emails are sent instantly, some emails take a while to arrive. Is that a limitation of mail(); or possibly the servers that I am currently using, the mail is bouncing off?

Information seems tricky to find. And there is a general consensus that it is quite difficult to do mass mailing properly due to spamming.

So far solutions include

Attaching a variable at the end of an image.
Eg, in the email have an image link to

If the user has images enabled or enables images in the email, the request for the image, can then log the id number associated with the email when the email was sent out.

Problems include, user not enabling images, servers blocking you for spam, as this is a method used by spammers, but also dedicated email marketers… Some mail clients block web images completely, or block emails that include this type of content in the email. However due to all these negatives, it is still possibly the best method for confirmation – so I have read.

I’ve never used desktop email clients, thunderbird, mail, outlook. The client mentions that he recieves

  • emailed delayed notifications (do these exist?)
  • email received notifications… (i’m aware these exist but how they are set up I cannot figure out, seems to be thousands of ‘iffy’ solutions out there. With Desktop Clients vs Browser clients, it seems desktop clients have this implemented, Gmail and Hotmail don’t making me wonder weather this is not a web based possible solution?), and left to desktop clients, or dedicated online solutions.
  1. There was some small information about using the following parameters in the $header;


However having tested both these with Gmail, doesn’t seem to work, and both apparently require the user to physically click a reply link to confirm it was received, which most users will never do.

Yea I like campaign monitor the most.

Not sure if I want to turn around to the client and charge them even more, on top of hosting for what I would call expensive mail campaigns. Id rather they paid anther company, and they were aware that it was all separate.

Have you considered You could create an account for yourself and then offer it as a service to your client and earn a little residual income in the process.

If the mail being sent is more transactional based then have a look at

well guru when i said it is not perfect (actually i said it in sense that ‘nothing is perfect’) because of following reason:
1)We have to make some good decision about how and when to run cron?for eg running cron too many times may be waste of resource.
How do we keep track of sent and unsent email of each user(suppose it was about emailing account financia statement)
I normally have ‘start’ and ‘end’ in QUEUE table so how to handle half done jobs…what if cron totally fails…fails in middle…so on.
Best time to run cron or start sending email(some email needs to be delivered promptly)
so though these may not hard things to tackle the overall success of model depends upon right decision in these problems which does adds some complications
so may be it can be considered reasons which makes its not perfect…but same as you, i also still believe it is the best way

That’s basically how I send out newsletter emails to my mailing lists. My hosting provider allows me to send up to 750 emails per hour and so mailing lists of 10,000 would still keep me well within the limits if I spread the sending over one day. Since I have two lists of nowhere near that many that are send an email once a month I still have plenty of room for lots more signups.

Works quite well - what’s not perfect about it for lists of under 10,000 apart from the fact that it could take all day to send?

best stragedy i can think of or i use…(but it is not perfect…)
make a QUEUE table with flag field
when emails are sent from compose box
it actually is not sent it is inserted to queue table
and after that decide time INTERVAL and NUMBER of email you want to send at ONE time
then use CRON

works best if you are in shared server and DONT want to get blammed to getting mail server ip listed as spam server or even blacklisted…

This way you may not need to buy expensive mail services which charges you on per mal basis

Agree with the responses above. Email marketing services such as the ones you’ve mentioned have thought well and truly about these issues and do the hard yards when it comes to maintaining high delivery rates. Plus, there’s really little point re-inventing the wheel for a list of 1,000 subscribers.

Detailed reporting and maintaining delivery rates are two critical parts of a robust email marketing service, but how about if your client’s needs eventually extend to solid list management, triggered email or a similarly complex feature? If you think this may be the case, definitely leave it to the Chimps and the Monitors.

Very difficult, not just technically but politically

Beautifully said, I got the general gist, but needed confirmation.

definitely leave it to the Chimps and the Monitors.

haha, yea looked at both, both seem quite powerful. Its just seems expensive over the long term, costs as much as hosting for the client in general. And it was really just a simple html email that they would be sending out. Seems harsh that the only option is to use a paid service.

Quite like CampaignMonitor, but Chimp seems more cost effective, which is what it usually comes down to.

Is poMMo still considered to be a useful mass mailing solution?

Yeah if your going to do it your self then the queue/cron way is your best bet IMO. Also splitting who you send to at once will help, for example if you send to 50 yahoo email accounts within 10 minutes Yahoo could see that as spam. So dont group them together like that, i learned the hard way. If possible trying sending from different ip addresses as well. Otherwise if you send thousands of emails from one ip you could get that ip address black listed. Again all of this is from experience in the past of newsletter scripts I had to write.

If you can afford it though use a paid service, like everyone else says they already thought this all out and have the investment to make sure things like this are taken into consideration.


These problems are all huge time suckers. Use a mail list service provider if you can.

yours, Marcus

Is it simple or possible to set up email tracking to confirm email was received, or delayed? Or is this something best left to professional dedicated software.

Very difficult, not just technically but politically. You are much better leaving that up to a dedicated service if you want any accuracy and consistency in results.