About Amazon SES
“The pay as you go feature is great. Also the first 62000 mails are free ,which is great.”
“SES is basically the best email service out there.”
“Well, I think this is the best SMTP server with the best features. I never get my emails in spam with amazon SES.”
“It’s an excellent business email solution, and I would strongly recommend it to others. This is ideal for marketing emails and is easy to set up and use after the initial setup.”
“The support is as slow as it can be. It’s really annoying to have to ask permission for everything and be under investigation for every email blast you send.”
“I don’t think this is a negative but we need to learn configuration to setup it, which needs little effort to learn.i think they can simplify configuration settings.”
“There are initial sandbox limits are too low for a production application.”
“Getting started with high-volume emails can be costly.”
What Are the Defining Characteristics of Amazon SES?
Here are the five defining characteristics of Amazon SES:
1. Multiple User Types
Amazon SES has two types of users — the sandbox user and the IAM user.
Here’s a quick look at each.
A. Sandbox User
Many transactional email services have safeguards in place to prevent spammers from misusing them. New users have to get manually verified before they can start sending large volumes of emails.
Amazon SES also has this safeguard. All new users are sandbox users by default. However, you can always send a request to Amazon to remove your account from the Amazon SES sandbox through the AWS Management Console.
Although being a sandbox user won’t limit you from using any of Amazon SES’ other features, there are certain restrictions such as:
- You can only send emails to and from verified email IDs and domains.
- You can send a maximum of just 200 emails per 24-hour period.
- You can send a maximum of one email per second.
B. IAM User
The IAM user (Identity and Access Management) gets secure access to AWS resources and can authenticate and authorize other users (for example, your employees) to use those resources.
While creating an IAM user with the AWS Console is straightforward, doing the same with AWS CLI (Command Line Interface) requires you to create an access key, which includes an access key ID (user ID) and a secret access key (password) for the user.
Some of the best features for an IAM user include:
- Shared account access
- Secure access to AWS resources
- Multi-factor authentication (MFA) for extra security
- Processing, storing, and transfer of credit card data
- PCI (Payment Card Industry) and Data Security Standard (DSS) compliance
2. Email Sending Quotas
The sending quota regulates the number of emails you can send per day and the rate at which you can send them.
The maximum sending limit for sandbox users is 200 emails in 24 hours, with no more than one email per second.
If you’ve moved out of the sandbox, then Amazon SES performs an automatic quota increase depending on criteria such as:
- Sending high-quality content that your recipients want to open.
- Having low bounce and complaint rates.
- Not sending test emails to fake email addresses.
- Your daily outgoing email volume regularly approaches your daily maximum email sending limit.
However, the default email sending quota for IAM users is 10,000 emails per day after production access is granted (when you move out of the sandbox).
3. Sending Emails in Amazon SES
In Amazon SES, you can send emails to your customers through the Amazon SES Console, its SMTP interface, or the Amazon SES API.
So here’s how you can send emails using the Amazon SES SMTP interface, Amazon SES API, and Amazon SES Console.
A. Amazon SES SMTP Interface
Amazon SES has its own SMTP interface through which you can send bulk and transactional emails. All you need is an Amazon SES SMTP username and password to use it.
What is SMTP?
SMTP, or Simple Mail Transfer Protocol, is an email communication protocol used to send outgoing mails. It uses an SMTP server to deliver the mails.
Most SMTP providers connect you to multiple SMTP servers through which you can send bulk emails that exceed the sending restrictions placed by regular email clients like Gmail and Outlook. For example, Gmail has a 500 email/day maximum for regular users.
However, Amazon SES’s SMTP server is split into multiple AWS Regions across the world. This way, your emails reach customers through the AWS Region you connect to while setting up the SMTP service.
So if you want to send emails to your customer base spread across the US, Canada, and Europe, you’ll have to generate separate SMTP credentials for each of these AWS Regions.
How Do You Get Your Amazon SES SMTP Credentials?
- Log in to the AWS Management Console and open the Amazon SES Console.
- Select SMTP Settings from the navigation pane.
- Select Create My SMTP Credentials from the content pane.
- Enter a new SMTP username or use the default value in Create User for SMTP and click Create.
- To view your newly created SMTP Credentials, click on Show User SMTP Credentials.
- Close the window, and it’s done!
B. Amazon SES API
Before going into the Amazon SES API, let’s first cover what an email API is.
What Is an Email API?
An email API offers access to email service functionalities through your website or app.
Mostly used for notification and transaction emails, it sends notifications to you and your customers instantly based on website or app triggers.
In Amazon SES, you can configure the email yourself and make API connections via:
- HTTPS requests: You have to authenticate, sign in, and construct your requests manually.
- AWS SDK (Software Development Kit): It automatically manages your authentication, sign in, retry logic, and error handling, etc.
- AWS CLI (Command Line Interface): This is a collective tool for effective management and automation of AWS services, including emails.
However, no matter how you access the Amazon SES API, you can send emails in two ways — depending on the level of control you want in your email configuration:
- Formatted: Amazon SES configures and formats the email message for you. All you have to do is enter the “From,” “To,” subject line, and message body.
- Raw: Amazon SES lets you manually compose and send email messages by mentioning email headers and MIME (Multipurpose Internet Mail Extension) types. This helps you send customized emails to your customers.
An endpoint is an entry point URL for an AWS web service that, when connected to a particular AWS Region, helps you send emails to your customers in that region.
C. Amazon SES Console
The Amazon SES Console is probably the easiest way to send an email.
However, you would have to enter all email information manually.
That’s why the Console is used primarily to send test emails or monitor outgoing email activity while the Amazon SES SMTP interface or API is used to send bulk/transactional emails.
Here’s a quick look at how you can send test emails via Amazon SES Console:
- After signing in to AWS, open the Amazon SES Console.
- Click on Email Addresses under Identity Management to view the list of verified email addresses.
- Select the verified emails to which you want to send the test email.
- Click on Send Test Email.
- Select the Email Format — Formatted or Raw.
- Fill out the required fields.
- Click Send Test Email.
- Log in to the email client where you’ve sent the test email to verify it.
4. Detailed Email Performance Analysis
When you send emails, Amazon SES automatically collects all data regarding email deliverability, blocked/rejected messages, bounce rates, and complaints, etc., in the SES Console.
Additionally, its Deliverability Dashboard service offers reputation monitoring for up to five domains, along with 25 predictive email placement tests.
The SES Dashboard also helps you check the number of emails that have reached the inbox and spam folders, as well as failed email deliveries.
You can even connect it to Amazon’s CloudWatch (the Amazon data management service) to get a quick overview of the total open, click, bounce, and complaint rates.
5. Amazon SES Integrations
Amazon SES can be easily integrated with other AWS services to improve email deliverability and provide more control over your email campaigns.
For example, you can integrate applications running on Amazon EC2 (Elastic Compute Cloud) with AWS SES and use AWS SDK (Software Development Kit) to send emails. This lets you send around 62,000 emails every month without any additional charges.
You can use AWS Elastic Beanstalk (Amazon’s application deployment service) and develop email-enabled programs that use Amazon SES to send newsletters to your customers.
You can even configure Amazon SNS (Simple Notification Service) to get email deliverability, complaints, and bounce notifications, etc.
Other than AWS, Amazon SES can be easily integrated with multiple different platforms and web applications, such as:
What Is the Amazon SES Pricing?
Unlike other external email service providers, Amazon SES offers a pay-as-you-go service based on the email volumes sent and received.
Here’s a quick overview of Amazon SES pricing based on sending and receiving emails:
1. Sending Emails
Amazon SES has a Free Usage Tier that lets you send the first 62,000 emails for free when integrating Amazon SES with an application running on Amazon EC2.
In Amazon EC2, users can rent virtual servers to run their applications.
So if you connect any of your email applications that are already running on EC2, with Amazon SES, you get to send up to 62,000 free emails from the platform.
However, after the 62,000 email sending limit, you’ll have to pay $0.10 for every 1,000 outgoing emails.
The Free Tier doesn’t have any particular tenure and is free forever.
However, you’ll have to pay for:
- Outgoing mail data ($0.12 per GB).
- Incoming mail chunks ($0.09 for every 1,000 incoming mail chunks, each chunk counted as 256KB).
- Data transfer fees with other AWS services.
2. Receiving Emails
In the case of receiving emails, the first 1,000 emails you receive aren’t charged. However, you have to pay $0.10 for every 1,000 emails after you’ve exhausted your initial quota.
3. Additional Pricing Features
Here are the pricing details for SES’ additional services:
A. Dedicated IP
Amazon SES allows you to lease a dedicated IP address to send emails to your customers. Each dedicated IP costs $24.95 per month, and you can lease as many dedicated IPs as you want.
B. Bring Your Own IP (BYOIP)
This optional service of Amazon SES allows you to use your own IP addresses to send emails via its app. The monthly charge is $24.95 for each IP you use.
C. Deliverability Dashboard
Amazon SES’ Deliverability Dashboard has a monthly price of $1,250. This charge covers sender reputation monitoring for five domains and 25 predictive email placement tests.
If you want to monitor more than five domains, you’ll have to pay $25 monthly for each additional domain.