Monitoring Using Amazon SES Event Publishing
To enable you to track your email sending at a granular level, you can set up Amazon SES to publish email sending events to Amazon CloudWatch or Amazon Kinesis Firehose based on fine-grained email characteristics that you define. For example, you can categorize your emails by purpose (transactional versus marketing), product details, the recipient's "From" domain, and so on.
You can track five types of email sending events: bounces, complaints, deliveries, sent emails, and rejected emails. This information can be useful for operational and analytical purposes. For example, you can publish your email sending events to CloudWatch and trigger an alarm when the complaint rate of a specific email campaign reaches a certain level. You might publish events to Firehose so that you can transfer the records to Amazon Redshift or another AWS service and merge the information with your business data.
How Event Publishing Works
To use event publishing, you first set up one or more configuration sets. A configuration set specifies where to publish your events and which events to publish. Then, each time you send an email, you provide the name of the configuration set and one or more message tags, in the form of name/value pairs, to categorize the email. For example, if you advertise books, you could name a message tag genre, and assign a value of sci-fi or western, when you send an email for the associated campaign. Depending on which email sending interface you use, you either provide the message tag as a parameter to the API call or as an Amazon SES-specific email header.
In addition to defining your own message tags, you can use message tags that Amazon SES automatically provides. These are called auto-tags and they include the configuration set name, the domain of the "From" address, the caller's outgoing IP address, the Amazon SES outgoing IP address, and the IAM identity of the caller.
How to Use Event Publishing
The following sections contain the information you need to set up and use Amazon SES event publishing.
Event Publishing Terminology
The following list defines terms related to Amazon SES event publishing.
- Email sending event
- Information associated with the outcome of an email you submit to Amazon SES.
There are five types of email sending events:
Send – Your API call to Amazon SES was successful and Amazon SES will attempt to deliver the email.
Reject – Amazon SES initially accepted the email, but later rejected it because the email contained a virus.
Bounce – The recipient's mail server permanently rejected the email. This event corresponds to hard bounces. Soft bounces are only included when Amazon SES fails to deliver the email after retrying for a period of time.
Complaint – The recipient marked the email as spam.
Delivery – Amazon SES successfully delivered the email to the recipient's mail server.
- Configuration set
- An Amazon SES construct that encapsulates where you want to publish email sending events, and what email sending events you want to publish. When you send an email that you want to use with event publishing, you specify the configuration set to associate with the email.
- Event destination
- An Amazon SES construct that represents an AWS service to which you publish Amazon SES email sending events. Each event destination that you set up belongs to one, and only one, configuration set.
- Message tag
- A name/value pair that you use to categorize an email for the purpose of event publishing. Examples are campaign/book and campaign/clothing. When you send an email, you either specify the message tag as a parameter to the API call or as an Amazon SES-specific email header.
- Message tags that Amazon SES automatically provides so that you do not need to explicitly specify them when you send an email. There is an auto-tag for the configuration set name, the domain of the "From" address, the caller's outgoing IP address, the Amazon SES outgoing IP address, and the IAM identity of the caller.