I want to review my email sending history in Amazon Simple Email Service (Amazon SES).
Resolution
Use Amazon OpenSearch Service and Amazon Kinesis to store and view your Amazon SES sending history.
Create an Amazon OpenSearch Service domain
Create an Amazon OpenSearch Service domain to store your Amazon SES sending history. OpenSearch Service can be placed in a public network or in an Amazon Virtual Private Cloud (Amazon VPC). For more information on the type of network to use for your OpenSearch Service domain, see VPC versus public domains.
Create a Kinesis delivery stream
- Open the Kinesis console.
- Choose Create delivery stream.
- For Source, select Direct PUT. For Destination, select Amazon OpenSearch Service.
- For Delivery stream name, enter a name for your stream.
- (Optional) You can choose to transform source records with AWS Lambda, or leave this setting as Disabled.
- Under Destination settings, enter the following:
For OpenSearch Service domain, select the domain that you created to store your Amazon SES sending history.
For Index, enter an index name.
For Index rotation, choose a rotation schedule. Or, leave the field with the default No rotation setting.
For Type, enter a type name.
For Retry duration, modify the retry duration in seconds. Or, leave the field with the default 300 seconds.
- For Buffer hints, configure OpenSearch Service buffer conditions for your use case. For more information on these fields, see Backup and advanced settings.
- Under Backup settings, enter the following:
Leave Failed data only as the default setting.
For S3 backup bucket, choose to store the records in an existing bucket. Or, choose Create to create a new bucket.
(Optional) For S3 backup bucket prefix, enter a prefix. Or, leave this field blank.
(Optional) For S3 backup bucket error output prefix, enter a prefix. Or, leave this field blank.
- (Optional) You can expand the Advanced settings tab to configure server-side encryption, CloudWatch error logging, permissions, and tags. Configure the settings for your use case. For more information on these fields, see Backup and advanced settings.
- Choose Create delivery stream.
Create an Amazon SES configuration set
- Open the Amazon SES console, and then choose Configuration Sets from the navigation pane.
- Choose Create Set.
- For Configuration set name, enter a name for the set.
- For Sending IP pool, select your preferred pool or leave default selected. Then, choose Create Set.
- Choose Event destinations from the top pane of the newly created set, and then choose Add destination.
- For Event types, select Sends, Rejects, Deliveries, Hard bounces, and Complaints. Then, choose Next.
- For Destination type, select Amazon Kinesis Data Firehose.
- In the Name field, enter a destination name.
- For Delivery stream, select the delivery stream that you created.
- For Identity and Access Management (IAM) Role, choose a role that grants permission for Amazon SES to publish to Kinesis Data Firehose on your behalf. Then, choose Next.
Note: This must be a manually created Identity and Access Management (IAM) role.
- Review your event destination settings, and then choose Add destination.
Test your configuration
- Send a test email using the Amazon SES console.
Important: To see the results of the test email, you must specify the configuration set that you created.
For Email Format, select Formatted.
For Configuration set, enter the name of the configuration set.
- Open the Amazon OpenSearch Service console.
- Choose the domain that you created for storing your Amazon SES sending history.
- In the General information section, choose the link next to OpenSearch dashboards URL.
- Create an index pattern for the index name that you configured when you created the delivery stream. For instructions, see Create a data view on the elastic.co website.
- After the index pattern is created, use the Discover feature in OpenSearch Dashboards to view the log of the test email that you sent. For more information, see Discover on the elastic.co website.
Related information
Monitoring your Amazon SES sending activity
How do I troubleshoot Amazon CloudWatch Logs so that it streams to my Amazon OpenSearch Service domain?