Integration: Amazon Simple Email Service (SES) Event
You need to set up an Amazon SNS topic for this integration!
Amazon Simple Email Service (SES) is an email sending service to send marketing, notification, and transactional emails. You can use the SMTP interface or one of the AWS SDKs to integrate Amazon SES directly into your existing applications. SES can send events to SNS.
Supported event types are:
- Send: SES is processing the email
- Reject: the email contained a virus
- Bounce: e.g., the recipient does not exist
- Complaint: the recipient marked the email as spam
- Delivery: the email was delivered
- Open: the recipient opened the email in his or her email client
- Click: the recipient clicked one or more links contained in the email
- Rendering Failure: the email was not sent because of a template rendering issue
You can select the events that you want to receive.
If you send out emails, the SMTP server on the other end may reject the message. This could be caused because the recipient does not exist or the inbox of the recipient is full. You may want to know about this event to clean up your database.
- Visit https://console.aws.amazon.com/ses/home?region=us-east-1
- Click on the Configuration Sets link on the left
- Click on the Create Configuration Set button
- Set Configuration Set Name to
- Save by clicking the Create Configuration Set button.
- Click on the newly created configuration set
- Set Add Destination to
- Set Name to
- Enable Event type
- Set Topic to
marbotor your other SNS topic name
- Save by clicking the Save button.
To simulate a delivery failure, you have to send an email using the AWS CLI or one of the AWS SDKs. The following command uses the AWS CLI and can be executed in your terminal. Replace
domain.com with your SES domain.
aws ses send-email --configuration-set-name marbot --from "email@example.com" --to "firstname.lastname@example.org" --subject test --text text
configuration-set-name parameter specifies that the email is sent using the newly created Configuration Set
You should receive an alert in Slack: