Amazon SES integration with Joomla 2.5

Since a few days ago, I noticed an increase of reporting activities from users who said they have never received notification email when they register to templateplazza.

As an initial response we usually advice them to check their spam / bulk folder, and in some cases indeed the notification email accidentally thrown into their spam folder. But strangely, there are some cases where the problem is not related to spam/bulk folder matter but it's about a significant delay of the notification email delivery. If the delay is still a matter of minutes, it can be tolerated. But some users report that they got their notification email in a few hours. This is not normal and I decided to investigate what really happened.

With the help of a friend from the server provider I started to look at the smtp logs to find issues related to email delivery. From some bounce error logs, we found that some error possibly caused by configurations of the recipient server. Some servers apparently entering the email address that was in their own host into their grey list. This is likely because many hosts are using a public RBL to detect spam recipient. As a result, they mistakenly grey-listed their own users email addresses, that's explain why then some user receive their notification email after few hours

But this case is not the majority. I found it on just a few cases. When I tried to look at the other cases I found the other thing. I found that mostly other complaints are coming from users who used free email service from Microsoft, such as hotmail, live, msn, WindowsLive and others. There's no bounce error in the log but but we noted that there were some notification emails thrown into the spam folder and from the Joomla user manager we found the fact that a lot of users who used Microsoft free email service were never activate their own account. There must be something wrong with the email delivery.

So? How to solve this problem? Friend from the server said, doesn't like other major free email providers like Yahoo and Google who believe DKIM and SPF to filter spam emails, Microsoft does have their own reputation manager. There's a chance to contact Microsoft and tell them that we will send transactional emails from our server that will act like a bot email but it's not worth to be done.. So what else?

Then there's coming up an idea to use 3rd party Transactional Email services, such as Sendgrid, Mandrill, Postmark and Amazon SES. It can be a good solution for our problem. After doing some research, we decided to use Amazon SES as it has all what we expected from a Transactional Email providers.It's relatively easy to use and it also has a good pricing scheme. Amazon SES charges you only $ 1 dollar per 10 K emails sent. It's relatively cheap.

Then I opened my Amazon Management Console and started doing Amazon SES service registration process. Amazon Management Console has a pretty simple UI and easy to understand. If you're new to this, you probably will need to pass several processes, but overall, everything is easy.Basically, to use Amazon SES you must create an SMTP credentials that you will use later in the Global Configuration page of Joomla. You may also need some additional steps such as requesting production access to remove your email sending limits, verifying email addresses and domains, but all should be easy to complete. You can also read the documentation provided by Amazon if you encounter any difficulties with that.

Once you get your Amazon SMTP credentials, then the next thing you should do is opening your Administration Joomla page and go to the Site / Global Configuration -> then go to the Mail Setting section, then fill in the fields with something like this :

Mailer: SMTPFrom Email: Fill in with your email address that has been registered as verified sender in the Amazon SES ConsoleFrom Name: Fill as you likeSendmail Path: Leave the default valueSMTP Autentication: YesSMTP Security TLS SMTP Port: 587SMTP Username, SMTP Password. SMTP Host, fill in with the credentials that have given by the Amazon SES

Then click on the Save button.

The Amazon SES should be integrated and working properly at this point, but we still need to test it. You can test it by sending an email through your joomla contact component page and then see the email headers using your email client. If you see the line like this one in the email header:

Received: from xxxx.smtp-out.amazonses.com ...

it means Amazon SES is already working properly and you have successfully integrated Amazon SES with your Joomla.You can try to register a new user account in your Joomla site if you want to, just to make sure that all goes fine.

By using Amazon SES, so far I don't see any bounce email report and almost all users who register to templateplazza now activate their accounts. It means they got their notification emails.