CloudWiki
Resource
Detect, troubleshoot & optimize AWS environments in real-time ->

Amazon Web Service (AWS)

SES

Queue
Amazon Simple Email Service (SES) is a cloud-based email sending service that allows you to send both transactional and marketing emails to your customers. It provides a simple and cost-effective way to send emails through the AWS (Amazon Web Services) cloud infrastructure, while ensuring high deliverability rates, reliable email sending, and easy integration with other AWS services.
Costs
Amazon Simple Email Service (SES) offers a flexible pricing model based on the number of emails sent, as well as additional charges for certain features. Here's a breakdown of the main costs associated with using Amazon SES: Email Sending Fees: Amazon SES charges a fee for every email sent through the service. The fee varies depending on the destination of the email (i.e., within the same region or in a different region) and whether the email is a standard email or a marketing email. As of September 2021, the fee for sending standard emails within the same region is $0.10 per 1,000 emails, and the fee for sending marketing emails within the same region is $0.12 per 1,000 emails. Data Transfer Fees: Amazon SES charges data transfer fees for data transfer out of the service. The fee varies depending on the amount of data transferred and the destination of the data. As of September 2021, the fee for data transfer out of Amazon SES to the internet is $0.09 per GB. Additional Feature Fees: Amazon SES offers additional features such as dedicated IP addresses, email validation, and dedicated IP pools. These features come with additional fees that vary depending on the feature and the region. It's important to note that the pricing for Amazon SES may change over time, so it's a good idea to check the AWS website for the most up-to-date pricing information. Additionally, AWS offers a free tier for new customers that allows for up to 62,000 emails per month for the first 12 months, which can be a great way to get started with the service without incurring significant costs.
Direct Cost

Cost per recipient of SendEmail or SendRawEmail - AmazonSES

Cost per GB of attachments - AmazonSES

$ per GB - first 10 TB / month data transfer out beyond the global free tier - AmazonSES

Indirect Cost
No items found.
Terraform Name
aws_ses_configuration_set
SES
attributes:

The following argument is required:

  • name - (Required) Name of the configuration set.

The following argument is optional:

  • delivery_options - (Optional) Whether messages that use the configuration set are required to use TLS. See below.
  • reputation_metrics_enabled - (Optional) Whether or not Amazon SES publishes reputation metrics for the configuration set, such as bounce and complaint rates, to Amazon CloudWatch. The default value is false.
  • sending_enabled - (Optional) Whether email sending is enabled or disabled for the configuration set. The default value is true.
  • tracking_options - (Optional) Domain that is used to redirect email recipients to an Amazon SES-operated domain. See below. NOTE: This functionality is best effort.

delivery_options

  • tls_policy - (Optional) Whether messages that use the configuration set are required to use Transport Layer Security (TLS). If the value is Require, messages are only delivered if a TLS connection can be established. If the value is Optional, messages can be delivered in plain text if a TLS connection can't be established. Valid values: Require or Optional. Defaults to Optional.

tracking_options

  • custom_redirect_domain - (Optional) Custom subdomain that is used to redirect email recipients to the Amazon SES event tracking domain.

Associating resources with a
SES
Resources do not "belong" to a
SES
Rather, one or more Security Groups are associated to a resource.
Create
SES
via Terraform:
The following HCL creates an SES configuration set resource
Syntax:

resource "aws_ses_configuration_set" "test" {
 name = "some-configuration-set-test"
}

Create
SES
via CLI:
Parametres:

create-configuration-set
--configuration-set <value>
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]

Example:

aws ses create-configuration-set --configuration-set-name my-config-set --region us-east-1

Best Practices for
SES

Categorized by Availability, Security & Compliance and Cost

Explore all the rules our platform covers
Related blog posts
All Resources