Set up an Amazon SNS event destination for event publishing - Amazon Simple Email Service Classic

This is the user guide for Amazon SES Classic. Updates and new features are only being documented in the new Amazon SES Developer Guide which we recommend to use.

Set up an Amazon SNS event destination for event publishing

A event destination notifies you about specific email sending events using Amazon SNS. Because an Amazon SNS event destination only exists within a configuration set, you have to create a configuration set before you add the event destination to the configuration set.

This section includes a procedure for creating an event destination by using the Amazon SES console. You can also use the UpdateConfigurationSetEventDestination operation in the Amazon SES API V2 destination to create and update event destinations.

Note

It's also possible to receive notifications through Amazon SNS at the account level. This means that you can receive Amazon SNS notifications every time a sending event occurs across your entire Amazon SES account. By using event publishing rather than account-level notifications, you can configure Amazon SES to only send notifications about specific event types, or only for emails sent using a particular configuration set. For more information about setting up account-level Amazon SNS notifications, see Monitoring Amazon SES email sending using notifications.

There are additional charges for sending messages to the endpoints that are subscribed to your Amazon SNS topics. For more information, see Amazon SNS Pricing.

To add an Amazon SNS event destination to a configuration set

  1. If you have not already done so, create an Amazon SNS topic and subscribe to it. For more information, see Create a Topic in the Amazon Simple Notification Service Developer Guide.

    Important

    When you create your topic using Amazon SNS, for Type, only choose Standard. (SES does not support FIFO type topics.)

  2. Open the Amazon SES console at https://console.aws.amazon.com/ses/.

  3. In the navigation pane, choose Configuration Sets.

  4. Choose a configuration set from the configuration set list. If the list is empty, you must first create a configuration set.

  5. For Add Destination, choose Select a destination type, and then choose SNS.

  6. Ensure the Enabled field's check box is pre-selected.

  7. For Name, type a name for the event destination.

  8. For Event types, select at least one event type to publish to the event destination:

    • Sends – The call to Amazon SES was successful and Amazon SES will attempt to deliver the email.

    • Rejects – Amazon SES accepted the email, determined that it contained a virus, and rejected it. Amazon SES didn't attempt to deliver the email to the recipient's mail server.

    • Bounces – 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.

    • Complaints – The email was successfully delivered to the recipient. The recipient marked the email as spam.

    • Deliveries – Amazon SES successfully delivered the email to the recipient's mail server.

    • Opens – The recipient received the message and opened it in their email client.

    • Clicks – The recipient clicked one or more links in the email.

    • Rendering Failures – The email wasn't sent because of a template rendering issue. This event type only occurs when you send email using the SendTemplatedEmail or SendBulkTemplatedEmail API operations. This event type can occur when template data is missing, or when there is a mismatch between template parameters and data.

    • Delivery Delays – The email couldn't be delivered to the recipient because a temporary issue occurred. Delivery delays can occur, for example, when the recipient's inbox is full, or when the receiving email server experiences a transient issue.

  9. For Topic, choose an existing Amazon SNS topic, or choose Create new topic to create a new one.

    For information about creating a topic, see Create a Topic in the Amazon Simple Notification Service Developer Guide.

    Important

    When you create your topic using Amazon SNS, for Type, only choose Standard. (SES does not support FIFO type topics.)

    Whether you create a new SNS topic or select an existing one, you need to give access to SES to publish notifications to the topic.

    To give Amazon SES permission to publish notifications to the topic, on the Edit topic screen in the SNS console, expand Access policy and in the JSON editor, add the following permission policy:

    { "Version": "2012-10-17", "Id": "notification-policy", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ses.amazonaws.com" }, "Action": "sns:Publish", "Resource": "arn:aws:sns:us-west-2:111122223333:topic_name", "Condition": { "StringEquals": { "AWS:SourceAccount": "111122223333", "AWS:SourceArn": "arn:aws:ses:us-west-2:111122223333:configuration-set/configuration-set-name" } } } ] }

    Make the following changes to the preceding policy example:

    • If you're located in a special partition such as China or AWS GovCloud (US), replace aws with the corresponding AWS partition, see Amazon Resource Names (ARNs) in the AWS General Reference.

    • Replace us-west-2 with the AWS Region where you created the SNS topic.

    • Replace 111122223333 with your AWS account ID.

    • Replace topic_name with the name of your SNS topic.

    • Replace configuration-set-name with the name of your configuration set associated with the SNS event destination.

  10. Choose Save.

  11. To use a configuration set when sending an email, see Specifying a configuration set when you send email.