Archives For SMTP Pro Magento Extension

My last blog post was over 6 months ago, so I think I’m technically way past due for a new post. In this post I wanted to take a tour through the new functionality in Magento 1.9.1 with regards to sending emails from your store.

The astute among you will have noticed there were some changes to email in Magento 1.9.1 from the Magento 1.9.1 release notes. Two things jump out as requiring further investigation:

  1. “all Magento e-mails (including order confirmation and transactional) are now queued and sent according to your configured cron schedule”
  2. “boasts responsive default email templates so customers can read your order confirmation emails and newsletters on any device”

The first change sounds worrying to me, after years of emails from merchants struggling to get their Magento store to send emails – anything which makes it _harder_ seems like a bad idea to me. However, we’ll look through the changes and see what’s new.

The second change sounds really good – I was tinkering on a responsive email extension myself, so it’s pleasing to see it has already become core functionality. I’ll take a look through the template changes, and how they affect your store in the second part of this blog post series.

Using cron to send Magento Emails

Magento email sending all boils down to the Template class Mage_Core_Model_Email_Template, you can see below the change for queuing has been to introduce a check for an available queue in the template class, and if available to enqueue the message with all of it’s data and return immediately.
Continue Reading…

I’m very pleased to announce the release of version 2 of SMTP Pro. It’s been a long time coming, but my most popular extension should once again be your first choice for custom email integrations. Version 2 is a full rewrite that adds support for all of the latest versions of Magento, an improved admin experience, a better self test and modern coding standards. You can find out more and subscribe for updates over on the SMTP Pro product page,


I first released SMTP Pro 5 years ago, when it was purely for connecting to Google Apps accounts to send store email. Since then I have added support for custom SMTP servers, Amazon SES, email logging, self testing and have helped thousands of merchants get their store emails working.

SMTP Pro was my first open source project and has been by far the most successful with over 30,000 downloads and dozens of contributors over the years. With nearly 150 reviews on Magento Connect and an average of 4.4/5 stars, it’s the positive, constructive feedback of the community I really enjoy.

Screen Shot 2014-05-22 at 9.28.07 pm

This update has been long overdue, but I’m very happy to say that SMTP Pro is back, and better than ever.

Where to Download

You can download Magento SMTP Pro from any of these places:

Continue Reading…

This is just a quick blog post that will hopefully help people facing the clash in Magento between my SMTPPro email extension and Ebizmarts’ MailChimp extension.

The clash occurs only in one class Mage_Core_Model_Email_Template which we both override to extend the default Magento email sending capability.

Because it only makes sense to use either SMTPPro or MailChimp as your ESP if you want to use SMTP Pro you can safely disable the MailChimp core class override and then SMTPPro will send the store emails using whichever method you have configured.

Update July 2013: I have since released a premium extension for sending email using Amazon SES called MageSend, if you’re having toruble sending email with Magento, please check it out, it was created to solve many common Magento email issues.

To remove the core override edit code/local/Ebizmarts/Mailchimp/etc/config.xml and remove the following XML:


When/Why is this safe to do?

You can do this when you are not using the MailChimp STS capability and want to use SMTPPro to send your emails. If you don’t want to send via SMTPPro, just uninstall it to resolve the conflict.

You can see in the first lines of the override class Ebizmarts_Mailchimp_Model_Email_Template why this is safe:

    return parent::send($email, $name, $variables);

This means that if you are not using STS, then the whole override is basically a noop.

One caution I have for you though, once you modify an extension, you have to remember to apply the same patch each time you upgrade it, otherwise the clash will creep back in!

Update: I missed some emails notifying me of comments, I missed this fairly important one from Ebizmarts with basically this fix in it… On a related note, if I didn’t reply to your comment for the last few weeks, that’s why.

This blog post is about the SMTP Pro extension. It is my attempt at full explanations to some very good questions/feedback from Chris Last in his comment on an earlier post. I decided that I should give thorough explanations to the questions and they probably belong in a blog post rather than a reply comment. Hopefully it’ll form a mini user-guide, I’ll try to update it as such over time.

Update July 2013: I have since released a premium extension for sending email using Amazon SES called MageSend, if you’re having toruble sending email with Magento, please check it out, it was created to solve many common Magento email issues.

There are too many sections in Config->Advanced->System for me to make complete sense of:

Mail Sending Settings – do these have any effect?
Disable Email Communications No
Host localhost
Port (25) 25
Set Return-Path no

1) The Mail Sending Settings are the built in Magento ones, they don’t work very well for custom SMTP servers and you can safely ignore them. One thing to note though. I do adhere to their disable configuration in my extension. So if you disable all emails using the core config here, all emails do stop even if sending via SMTP Pro.
Continue Reading…

There have been several reports of my SMTP Pro email extension failing on Magento 1.5. I hadn’t tested or recommended installing it on Magento 1.5 and wasn’t going to for a little while. You could say I’m not really an early adopter when it comes to Magento versions.

However, the ever helpful Rhonda (@rondata) from Magento got in touch with me late last week to report there may have been a packaging problem with my extension that has made it unable to be used on the new Magento Connect. So I thought if I was going to repackage it, I may as well also fix it up for Magento 1.5 – and so here is SMTPPro version 1.4.2.

As always you can download the package manually here (or via Magento Connect) to check it out before you install it manually.

I have tested the extension on Magento 1.4.2 and, also tested a Magento Connect install on Everything seems to be in order. The change in 1.5 was a move to array based email addresses and names in the Email_Template class.

I still feel like it’s shoddy OO that I have to override an entire method and duplicate all the logic in it just to swap in my SMTP transport configuration. For those that care, I did try some techniques to avoid it, but the default transport is explicitly set by the core code if a return path is set, which invalidates anything I can do in a subclass – short of temporarily hijacking the return path configuration, which I may resort to doing in the next release.

In the process of testing a Magnto Connect install I did see a very cool feature in the latest Magento, and I may just have missed it in the earlier releases as I seldom use Magento Connect anymore.

Upload a  Package directly

Installing a package directly from within the downloader module will surely make the day of many commercial extension developers – at least until they can sell extensions directly on Magento Connect*.

Anyway, that’s about it – the new version supports 1.5, and can be downloaded/installed on Magento Connect. Go enjoy some free SMTP/Google Apps/Gmail email sending! Please let me know if you have any problems or spot any bugs.

* Speaking of which, I wonder what % Magento will take… Apple set a pretty high benchmark at 30%. Magento doesn’t quite have the same kung-fu grip on distribution though so maybe it’ll be lower.