Amazon AWS SES/SNS tracking and batch sending
In this article, we are going to learn how to set up the Amazon SES (simple email service) and Amazon SNS (simple notification service). We will use Amazon SES to send emails using SMTP settings as well as through API. The Amazon SNS will be used to capture the different email stats like opens, clicks, reports, etc.
STEP 1: Domain Verification
(a) Go to SES >> Domain >> Click on “Verify a New Domain”
(b) In the “verify domain popup”, enter the domain name and check the “DKIM settings checkbox”.
Now enter the CNAME and TXT entries that it generates in your DNS settings.
STEP 2: SMTP Settings
(a) Visit SES >> SMTP Settings page.
(b) Copy the Server Name and save it somewhere as we’ll have to use it as the hostname in DAP Email >> SMTP page later.
(c) Click on “Create My SMTP Credentials” >> create new “IAM” user >> Save. It’ll give you the SMTP username and SMTP password. Copy and save it somewhere.
We’ll have to use it as the hostname in DAP Email >> SMTP page later.
STEP 3: Visit DAP Email >> SMTP page.
Create a new SMTP connection and use these settings.
Hostname: What you copied above in step 2b.
Append ssl:// to it.
For e.g. ssl://email-smtp.us-east-1.amazonaws.com
Username/Password: Use what you copied step 2c.
Port: 443
SSL: N
STEP 4: SNS Settings (used for email tracking)
Go to AWS >> SNS >> TOPICS
(a) Create a Topic and give it a name.
(b) Create a Subscription.
In the endpoint, enter tracking URL: https://yoursite.com/dap/dap-amazonses.php
(c) Use https as protocol.
It’ll show the subscription but in a pending state.
(d) Now click on the “refresh” icon.
It’ll show subscription in the confirmed state.
Step 5: Create Configuration Sets in SES.
(a) Visit SES >> Configuration sets.
(b) Create a new configuration set.
(c) Click on the new set.
(d) From the “select destination”, select “SNS” as the “destination”.
(e) Now from popup, select these events.
delivery, bounce, open, click
(f) Select a topic that you have created in SNS and save.
(g) Domain settings: If you choose ‘use amazon SES default domain’, then in the emails the links will point to Amazon’s domain but if you want the links to point to your domain, follow these steps.
– Verify the subdomain that you want to use for tracking with Amazon SES.
– Now in your DNS settings for the subdomain, make it point to the Amazon tracking server. For different regions, you will have to choose different entries.
– Now choose this subdomain in the “Configuration set destination”.
Step 6: Update the DAP Configuration (for batch and tracking)
(a) Get the API key and secret key
– Go to the top right of your screen, where your name is shown on your AWS dashboard.
– Go to My security credentials
– Create new API keys there and copy them.
Note: Sometimes you will get a popup after clicking on ‘My security credentials’, just click on the “Continue to security credentials” button in the popup.
(b) visit SES >> Configuration sets and copy the configuration set name that you want to use.
(c) Now visit DAP >> Setup >> Config
-Visit the email API credentials section.
– Enter the Amazon API key and secret key that you copied in step 6a
– Enter the ‘configuration set’ that you copied in step 6b
– Set Batch email setting to Yes if you want to send emails in batch.
Important Note: ‘Configuration set’ is important for tracking purposes. Without it, emails will be sent but we won’t be able to track the stats.
Thank you for taking the time to read my article.
Share it with your friends if you find it useful!
Cheers!