Amazon Simple Email Service (SES) Integration With DAP
DAP/Amazon SES Integration
Starting DAP v4.3.1, you can hook up DAP to Amazon’s Simple Email Service (Amazon SES) and have all of your emails go through Amazon’s beefed up, high-performance, high-deliverability email servers.
The document below explains how to connect DAP to Amazon SES. (troubleshooting info for DAP/SES integration)
- Go to http://aws.amazon.com/ses/ and sign up for Amazon SES. You must already have an Amazon account and you can add SES to that same account.
- Then go to https://console.aws.amazon.com/console/home , log in if required, and click on the SES link there.
- That will bring you to the SES “Dashboard”.
- When you first sign up for SES, you will be assigned a “Sandbox” account. Which means that you will only be able to send emails TO and FROM verified email addresses (a verified email address is something you add yourself to your SES account and then click on a confirmation link that Amazon sends you, to prove that you are the owner of that email id). Also, Sandbox access allows you to send out a maximum of just 25 emails per day, both FROM and TO verified email id’s only.
- So the first step is to add a Verified Sender. So click on the “Verified Senders” link in the menu on the left.
- That will bring you to this page. Click on the Verify a New Email Address link with the green check-mark next to it.
- In the popup, enter the email id that you wish to use as your FROM email id to send out emails. Please note that you can ONLY use verified email id’s to send out emails from your Amazon SES account. So whatever email id you wish to use in DAP Admin as the sender for outgoing emails (see DAP Admin > Setup > Config > From-Email Id : For all outgoing DAP emails), that’s the email id you should verify.
IMPORTANT: The email address is case sensitive. So if you white-listed You@YourSite.com at Amazon SES, then you must enter the email address with the exact same cAsE within DAP Config too (You@YourSite.com is NOT the same as firstname.lastname@example.org for the purposes of Amazon SES. Crazy, we know! But that’s how it is.)
- You will then receive an email from Amazon at that email id which has a confirmation link. Once you click on that link, your email id in your Amazon SES account is now “Verified” (also known as whitelisted). Please note that at this time, you still have Sandbox access. Which means you can send email both FROM and TO the same verified email id. Not very useful, but that’s ok. Now time to go back to the SES Dashboard and Request Production Access.
- Click on Request Production Access and you will be taken to a form that you need to fill out and submit. Amazon then reviews it, and it can take up to 48 hours for your account to be granted Production Access – which basically means, you can now use SES and start sending out real emails, and your per-day limit is now 10,000 emails per day.
- Now, you need to get a SMTP Username and SMTP password for sending out emails. This username & password is NOT the same as your Amazon account email and password. Neither does it have anything to do with your Amazon Public or Secret keys. This is a completely different (and new) username and password used JUST for sending emails, and it needs to be generated newly.
- To generate a new set of SMTP Username and Password, click on the SMTP Settings link in the menu. And then on the next page, click on Create My SMTP Credentials.
- In the resulting popup, click on Create.
- That will create your SMTP credentials. But to see it, you have to click on Show User SMTP Security Credentials
- Once you click on Show User SMTP Security Credentials, you will be shown your SMTP Username and Password.
- Be sure to note down the username and password in a safe place where you can get to it again, because Amazon will not show this same set of username and password ever again. If you lose them, of course, you can always generate a new set of username/password again for free, but you’ll never get the same pair again – it will be a fresh pair.
- Go to the SMTP Settings link in the menu and note down the Server Name.
It will be one of the following:
email-smtp.us-east-1.amazonaws.com (as in the image below)
email-smtp.eu-west-1.amazonaws.com (European Union users)
You need to determine what your host name is, and then add the text “ssl://” to it at the front.
So if the server name displayed in your Amazon SES account is this…
…then the text you would enter into the DAP Email > SMTP page is this…
- Now log in to your DAP Admin Panel, and go to DAP Admin > Email > SMTP.
- On this screen, use the section Add a New SMTP Server to create a new SMTP row as follows:
(Click on image above to see full-size screenshot)
Description: Amazon SES
Server: <what you noted down above>
Port: 443 (must be exactly that – ignore port numbers recommended by Amazon SES)
SSL: N (must be exactly that)
User Id: Amazon SMTP Username (that you generated and noted down in Step 15 above)
Password: Amazon SMTP Password (that you generated and noted down in Step 15 above)
Email Sending Limit Per Hour: 500 (ideal number – don’t go more – less is ok)Click on the “Add” button to create and save the new Amazon SES SMTP server setting in DAP.
- Once it is saved, now you will see 2 rows on the “Email > SMTP” screen. One is for the server “Localhost”, and the other is the new “Amazon SES”.
- Towards the end of each row, you’ll see a setting called “Activated?”. Set it to “N” for Localhost and “Y” for Amazon SES.
- That will now make all of your outgoing emails (listed below) go out only through Amazon SES, totally bypassing your web host’s email server. Which means, your email deliverability will go up substantially.
- List of outgoing emails include:
– Real-time Welcome Emails
– All transactional emails to DAP Admin – like payment receipt, new user signup, error notifications, user unsubscription notifications, etc
– All autoresponder and broadcast emails