Have you heard of Amazon SES before, but don't know exactly how it works and how to set it up? In this article, Amazon SES: what is it and how to use it, we will see what Amazon's SMTP service servers are for and how to use it to send bulk email while still being affordable.
We will look at some examples of using Amazon SES and its main features. After that we will look at the pros and cons of the service, see some of the possible alternatives, and find out the prices of Amazon SES.
In the second part we will see how to proceed to configure the service step by step. To begin with, let's look at how Amazon SES works.
Table of Contents
What is Amazon SES
Amazon Simple Email Service, known for simplicity as Amazon SES, is an email service offered by Amazon. The cloud-based email service is designed for several uses including sending transactional emails as well as sending mass emails.
One of the main features of Amazon SES, as we will explore further in this article, is its low cost.
The ability to offer a scalable service and the presence of a state-of-the-art infrastructure means that the service is chosen and used by companies such as Netflix, Reddit, and Duolingo.
Another important factor is the integration, through the console itself, API or via SMTP, it is possible to configure the sending of emails. In addition, Amazon SES not only allows sending of emails, but also receiving them.
Let's look specifically at what it can be used for and what the main features of the service are.
What Amazon SES is for: examples of use
Amazon SES is an effective solution for companies that want to avoid the costs and operations involved in setting up a large-scale mail solution. By choosing such a service, there is no need to set up the infrastructure, configure the network and take care of the operations required to protect the reputation of addresses.
In addition, since it is a pay-per-use solution it also allows for significant cost containment, giving us precisely the ability to pay in relation to our use of the service.
Amazon SES is suitable for sending different types of emails: transactional, marketing and mass emails.
Sending transactional emails
Transactional emails are those immediate, automated communications that are typically sent to a single recipient. Included in this category are those emails that are sent after the user performs a certain action on a site.
For example, a welcome email or one notifying us that we have signed up for a service, or the emails we receive to recover our password. Another example is confirmation emails such as notifying us that the order has been received or the package has been shipped.
Below you can see an example of a transactional email notifying you of the receipt of your order and providing a summary.
Sending marketing emails
Marketing emails are all those communications made for advertising purposes. Newsletters that are sent only to subscribers and have an informational purpose belong to this category.
Newsletters are, in fact, used by companies to communicate incoming news or to illustrate service or product features.
Next to newsletters are the strictly advertising emails that can be sent to communicate the launch of an offer or a new product.
Sending massive emails
Another case for which you might want to use Amazon SES is to send massive emails.
Mass emails are all those communications that are sent, precisely, in bulk. This means that emails are created, for example ads for an advertising campaign, to be sent simultaneously to many recipients.
Receipt of emails
As we anticipated Amazon SES in addition to allowing us to send emails, it can also be used to receive them. By integrating with other Amazon AWS services such as Amazon S3, it is possible to store incoming emails.
Features of Amazon SES
Now that we have seen some practical examples of using Amazon SES, let's take a look at an overview of its features.
Email sending rate is definitely among the main factors to be taken into consideration. Next to it, being able to keep the reputation of email addresses intact is also important so that our communications are not identified as spam.
To help us, Amazon SES provides us with a control panel from which we can keep track of actions taken and reputation. This also notifies us if our emails are marked as spam.
In addition, the service adopts an attachment control system to ensure that there is no malware or virus.
Possibility of customization
Another element not to be overlooked when choosing an email service is the ability to personalize the messages sent.
Specifically, it is possible to replace tags in order to create customized emails from templates we create.
The simplest case, and therefore the default, is to use shared IP addresses for sending emails. The use of shared IP addresses among multiple users is included in the basic charge for the service, we will discuss more of this in detail in the Amazon SES pricing section.
There are, however, other options as well, namely additional features that allow us to request one or more dedicated IP addresses or the ability to use IP addresses that we already have.
Advantages and disadvantages of Amazon SES
We have outlined the main features of the service, but what are the pros and cons of Amazon SES?
Among the advantages of Amazon SES, as we also anticipated at the beginning of our article, there is definitely value for money. At a low cost and on a pay-per-use basis, you can use the service to send and receive emails and also access other useful tools.
Another plus point is definitely the convenience of having a service with a high-level infrastructure without having to deal with it yourself.
The greatest benefits, of course, come if we are already using Amazon AWS services such as Amazon EC2 and AWS Lambda, which also give us access to a limited number of free emails.
In case you are not already familiar with these services, you can find an in-depth discussion in our article on Amazon AWS prices and services.
However, let's not forget that in addition to being integrable with Amazon services, Amazon SES can also be used if having to use Amazon hosting by installing a script on the server or through a mail client.
Rather than actual drawbacks, there are limitations of Amazon SES that need to be pointed out. First of all, it is necessary to know that it is an emailing service and not a platform designed for marketing.
Not surprisingly, among the main shortcomings highlighted by users of the service is the absence of templates and the inability to archive emails. As we said, in fact, with regard to receiving emails, Amazon proposes integration with S3.
Another factor that can be frightening is the configuration of the service, which is necessary in order to start sending emails. In the second part of our article, therefore, we will see all the steps that will allow us to configure the service.
Alternatives to Amazon SES
What are the main alternatives to the Amazon Simple Email Service? Let's look at some of the most widely used ones.
Mailgun is an email service that allows us to use the SMTP protocol or API to send emails. It also provides us with reports to track the number of emails sent and also allows us to check addresses for typos or spam problems.
SendGrid is not just a service for sending emails, but offers a complete email marketing suite with analytical tools to monitor the email marketing campaign. Among other features, it also offers the ability to use dedicated IPs.
MailChimp not only allows us to create and send emails, but also offers us other features since it is a more comprehensive email marketing tool. Some examples are the ability to manage and import contact lists, send emails for abandoned carts, use a drag & drop editor, and schedule emails.
Amazon SES: prices
As we anticipated earlier in the article, Amazon SES: what is it and how to use it, Amazon SES is a pay-per-use service. This means that the costs depend on the number of emails we send and the number of emails we receive, if we choose to use it for receiving as well.
To these basic rates are then added any additional services, such as the possibility of using dedicated IPs.
Like other Amazon AWS services, it is possible to get a cost estimate with the price calculator.
For customers using Amazon EC2 or AWS Lambda, there is a free Amazon SES plan. With this plan, which has no deadlines, 62,000 emails can be sent each month.
Above this threshold for sending via Amazon EC2 there is a charge of $0.10 per thousand emails.
Basic rates, using other clients, are as follows:
- sending emails: $0.10 per thousand emails
- receiving emails: the first thousand emails are free, subsequent emails are charged at $0.10 per thousand emails.
There is then also a fee to be added depending on the attachments and thus the weight of the emails, according to the following costs:
- each GB of attachments sent $0.12
- Every thousand blocks of incoming email $0.09 (one block corresponds to 256 KB of data).
Configuration of Amazon SES
Let's see how to configure Amazon SES in order to use the service. In this step-by-step guide we will see how to:
- create an Amazon AWS account
- check a domain
- verify an email address
- remove sending limits
- create SMTP credentials.
Create Amazon account
To write this guide, Amazon SES: what is it and how to use it, we decided to create a new account. Let’s therefore go to Amazon SES and in the upper right corner let’s click on the registration button, Create an AWS account. Let’s enter our information and continue. There will be several steps to follow, Amazon will ask us to enter personal information, credit card information, and confirm the phone number.
As soon as we finish the registration we click in the top right button "login to console", enter our email and password and log in. In the search box we type SES and click on the "Simple Email Services" link, choose a region (we recommend Ireland if your site and clients are in Europe) and we are on the SES panel.
Verify a domain
The first step in setting up Amazon SES is to verify a domain. We then click on "Domains" in the left sidebar and then on "Verify a New Domain" at the top. We need to enter our domain name, check the "Generate DKIM Settings" option, and click on the button to verify the domain.
At this point we will be shown DNS records to create for our domain, an operation we can perform from cPanel.
Add records to verify the domain
Click on the "Manage" link related to the domain you want to verify (if you have multiple domains on your account you will see all the domains you manage on this page).
Amazon gives you 3 parameters for each record: name, type, and value, as you can see in this screenshot.
On the cPanel it asks us for basically the same data after we click on the "Add Record" button.
So we add the two CNAME records and the TXT record and we are done. Although Amazon tells us that the CNAME records are optional we recommend adding them since they act as a "signature" for sent emails thus improving deliverability, i.e., the percentage of emails that reach your recipients' inboxes.
Basically, we will be in a situation like this
Now you will need to wait some time to complete the domain verification. Normally it takes a few minutes to verify the TXT record and 1-2 days to verify the CNAME parameters.
Let’s ignore MX records in this guide since we will not use Amazon SES for email reception.
Verify an email address
From the left sidebar click on email addresses, then click on the button to add an email address. Amazon will send you an email with a confirmation link, as soon as you click on the link your address will be verified.
Remove sending limits
After we have verified an email address and domain we need to have the sending limits removed. To avoid problems with spam, Amazon sets up our account so that we can only send test emails to our test addresses. To be able to send emails to everyone it will be necessary to remove these limitations.
We can do this by following their guide. Once you open the support ticket you will need to wait for their response.
It is important to provide as much information as possible regarding how email addresses are collected, how many emails you manage, how you manage the mailing list, and so on. You can find all the necessary information in the guide linked above.
Amazon monitors your mailings to ensure that the Amazon SES service is working properly. If, in fact, your mailings result in too many hard bounces or even receive complaints, your account may be blocked and your emails may no longer be sent.
This serves to prevent IP addresses of Amazon services from ending up in a blacklist and all emails sent (even by other users) flagged as spam.
If you manage your lists correctly, in most cases you won't have any of these problems because your users can unsubscribe from your emails, and because you reach the inboxes of those users who have shown an interest in your communications (e.g. those who have subscribed to your mailing list).
Create SMTP Credentials
Once we receive the response indicating that the limits have been removed, we need the SMTP credentials to be able to send the emails. Remember that you can only send emails using email addresses that you have already verified. In any case, verifying an email address takes only a few minutes.
To create SMTP credentials, we click on "SMTP Settings" in the sidebar after logging in to Amazon SES.
This page shows us the parameters for configuring our script or mail client. We can use Amazon SES for both our scripts and our mail client.
The data we need to configure sending via SMTP are:
- the name of the mail server
- the door (which we see in the screenshot above)
- the username
In the next step let’s go on to create login credentials.
Generate login credentials
To generate the credentials click on the "Create my SMTP Credentials" button then on the next screen click on the bottom right on "Create."
From this screen we can either download the credentials or display them on the screen.
Remember to save these data since you will not be able to retrieve them and will need to generate new ones.
In this article, Amazon SES: what is it and how to use it, we saw a comprehensive overview of the Amazon SES service that allows us to send and receive emails by taking advantage of a pay-per-use service in which we pay a fee in relation to usage. We started with examples of using the service such as sending marketing emails or transactional emails and then looked at the features in detail.
We then highlighted the main pros and cons of Amazon SES, saw what possible alternatives to use and what the prices are. In the second part of the guide we focused on setting up the service, we started with creating an account and ended up with the necessary verifications to start using the service.
Is there anything that’s not clear in this article? Are there any steps that you’d like us to elaborate on more? Let us know in the comments below.