Building a large-scale email solution is often a complex and costly challenge for a business. You must deal with infrastructure challenges such as email server management, network configuration, and IP address reputation. Additionally, many third-party email solutions require contract and price negotiations, as well as significant up-front costs. Amazon SES eliminates these challenges and enables you to benefit from the years of experience and sophisticated email infrastructure Amazon.com has built to serve its own large-scale customer base. Amazon SES has a range of features that make it the ideal solution for sending and receiving email. With Amazon SES, you can send and receive email with no required minimum commitments – you pay as you go, and you only pay for what you use.
The term deliverability refers to the likelihood that an email will arrive in a recipient’s inbox rather than identified as spam or blocked entirely. When it comes to deliverability, reputation — a measure of confidence that an IP address, email address, or sending domain is not the source of spam — is important. Amazon SES provides high deliverability by maintaining a strong reputation with mailbox providers.
To maximize deliverability for all of its senders, Amazon SES:
- Makes it easy for you to comply with industry-standard email authentication protocols.
- Offers dedicated IP addresses so that you have total control over the reputation of the IP addresses that send your mail.
- Enables you to track your email sending metrics so that you can find and fix problems right away.
- Filters content for viruses and malware and blocks these messages before they can be sent.
Most mailbox providers take measures to evaluate whether an email is legitimate before delivering it to a recipient's inbox. One method they use to determine legitimacy is to see whether an email is authenticated. Authentication requires senders to verify that they are the owner of the account that they are sending from. In some cases, mailbox providers refuse to deliver email that is not authenticated. Amazon SES makes it easy for you to authenticate your email by supporting email authentication mechanisms DomainKeys Identified Mail (DKIM), Sender Policy Framework (SPF), and Domain-based Message Authentication, Reporting and Conformance (DMARC).
Amazon SES sends your email from Amazon SES IP addresses (IPs) that are either shared with other Amazon SES customers, or reserved for your exclusive use. The option that is best for you depends on your use case. Shared IPs, which are the default, are the best option for many Amazon SES customers because they enable commitment-free sending with arbitrary email volume, and they incur no cost beyond the base Amazon SES pricing.
If you are a large sender, you might prefer dedicated IP addresses because they enable you to fully control the email that is sent out of a set of known, static IP addresses that are only used by you. With dedicated IPs, you can isolate the reputation of your mail streams and whitelist your IP addresses with other mail servers, if you need to do so for security purposes. Dedicated IPs require a minimum daily sending volume and incur an additional cost.
To decide whether dedicated or shared IPs are right for you, see Using Dedicated IP Addresses With Amazon SES in the Amazon SES Developer Guide.
To help you fine-tune your email sending strategy, Amazon SES provides multiple means by which you can monitor your sending activity. You monitor your sending activity in terms of email sending events, which are bounces, complaints, deliveries, sent emails, and rejected emails. You can access information about your email sending events using Amazon SES, Amazon SNS, Amazon CloudWatch, Amazon Kinesis Firehose, Amazon Elasticsearch Service, Amazon S3, or Amazon Redshift. If you use Amazon Elasticsearch Service, you can visualize your email sending events in Kibana. The way you access your email sending events depends on the type of event you want to monitor, the granularity and level of detail with which you want to monitor it, and where you want Amazon SES to publish the data. You may choose to use multiple methods.
To learn about monitoring methods for Amazon SES, see Monitoring Your Amazon SES Sending Activity in the Amazon SES Developer Guide.
When you use Amazon SES to receive email, you have complete control over which emails you receive and how the emails are processed after you receive them. You are not billed for any email that is rejected during the SMTP conversation, and Amazon SES enables you to set up your account to accept or reject mail based on the recipient address and/or the IP address that sent the email.
After Amazon SES accepts an email on your behalf, you can choose among several different options to process it. Amazon SES can deliver your messages to an Amazon S3 bucket, call your custom code via an AWS Lambda function, publish notifications to Amazon SNS, or bounce the message. Amazon SES can encrypt messages using AWS KMS before storing them in Amazon S3. In addition to the aforementioned processing, you can set up Amazon SES to notify you through Amazon SNS when you receive an email. The Amazon SNS notifications contain the verdict of the spam, virus, DKIM, and SPF tests that Amazon SES performs.
To provide you with the flexibility to decide which email sending method works best for your use case, Amazon SES has multiple cloud-based email interfaces that you can choose from. You can use the Amazon SES console, the Simple Mail Transfer Protocol (SMTP) interface, or the Amazon SES API. You can access the Amazon SES API by using the AWS Command Line Interface, or you can use an AWS Software Development Kit (SDK), which wraps the low-level functionality of the Amazon SES API with higher-level data types and function calls that take care of the details for you.
Amazon SES provides a mailbox simulator that you can use to test how your application handles various email sending scenarios without affecting your sending quota or your bounce and complaint metrics. The mailbox simulator is a set of email addresses that each simulate a specific type of behavior: a successful acceptance, a hard bounce, an out-of-office auto response, a complaint, or an address on the Amazon SES suppression list. Because your test messages are received by Amazon SES instead of actual recipients, your bounce and complaint rates are not affected. The mailbox simulator is also a good way to find your system’s maximum throughput without using up your daily sending quota.
Amazon SES integrates seamlessly with other AWS services, such as Amazon EC2, AWS Elastic Beanstalk, Amazon SNS, Amazon Route 53, AWS IAM, Amazon S3, AWS Lambda, AWS KMS, Amazon CloudWatch, AWS CloudTrail, Amazon Kinesis Firehose, Amazon Elasticsearch Service, Amazon Redshift, and Amazon WorkMail.
For information about how Amazon SES works with other AWS services, see Amazon SES and other AWS services in the Amazon SES Developer Guide.