I'm looking to build an email notification system using codeigniter. Now the system in question is one of a 2nd hand online store. For example say person A would like a chair. When they search the system and nothing appears I would like them to subscribe to any notification regarding the chair. So when person B uploads a chair to be sold then everyone that subscribed to these notifications will be notified via email. This is what I'm looking to build, which for the most part is fairly easy.

My concern revolves around the sending of these emails. I would like to know what is the BEST way of sending these types of emails and a solution that scales well. So if 1000 people decide to follow the chair, the solution won't fall apart. I've read about mass email systems chocking servers, being marked as spam server etc. Would it be better to send these emails through a third party etc? If so which third party would be the most reliable and cost efficient for this given job?

Please note this is my first time I'm looking to do this and I'm just looking for guidance to get the job done "right" the first time round. Thank you in advance

  • Couldn't you just to stand it on its head - must you use push technology? There might be less simultaneous load with pull, like RSS, or if you code a smartphone (or even desktop) app to poll periodically & look for new chair posts. I doubt that end users would like that, though. Btw, as well as email, consider using SMS in future & cutting a deal with the telcos to get a small portion of the revenues generated ;-) Jan 6 '15 at 13:04

Unfortunately, the "best" way of sending out emails of this nature is going to vary depending on the specifics of your project. There isn't a one-size-fits-all solution. If your user-base isn't very large, rolling your own solution can be a quick and easy way to get the job done. However, as your user base increases, so do the resources necessary to handle sending all of the emails in a reliable and timely fashion. At that point, you might consider a third party distributor. What point that is at, though, is going to depend on your budget (both from a fiscal and time perspective).

Regardless, a good design would decouple the sending of emails from the trigger that determines when those emails should be sent. At that point, replacing a solution should be a fairly painless process. I would say that - at least for testing - you ought to roll your own solution (which will make you familiar with any pitfalls), then see about using a third party service if the need arises.

  • Firstly thank you for the reply, it really is appreciated. You make a fair point on building something that I need first and then change the solution as my user base grows. One last question, I guess at this rate using my gmail account to send the emails would be fine?
    – user481610
    Jan 5 '15 at 18:57
  • 2
    @user12345 I would strongly recommend against that. I doubt GMail's Terms & Conditions allow for that (though the obvious "I'm not a lawyer" stipulation applies) and, even if they did, your personal email deliverability could suffer as a result. I'd suggest setting up a simple SMTP server on the machine and sending them from there to start with. However, keep the host address variable so you can change it to a dedicated server as the load grows (but prior to offloading to a third party service).
    – Michael
    Jan 5 '15 at 19:01
  • @user12345 You're welcome. We've had to deal with this issue at work, and it can be a headache (particularly the deliverability rate).
    – Michael
    Jan 5 '15 at 19:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.