Simulating SES Bounce, Complaint, and Reject Events

Simulating SES Bounce, Complaint, and Reject Events

This note describes how to simulate SES bounce, complaint, and reject events. For more details, refer to the official documentation.

Takahiro Iwasa
2 min read

This note describes how to simulate SES bounce, complaint and reject. Fore more details, refer to the official documentation.

Prerequisites

Ensure you have completed the following steps before starting:

  1. Register an email address in your AWS SES.
  2. Enable Email Feedback Forwarding for the registered email address.

Email Feedback Forwarding Setup

Simulating Bounce

Use the following command to simulate a bounce:

Terminal window
aws ses send-email \
--from <YOUR_EMAIL> \
--to bounce@simulator.amazonses.com \
--subject test \
--text test

You will receive an email at the address specified by the --from option, indicating a bounce occurred.

Bounce Simulation Example

Simulating Complaint

Use the following command to simulate a complaint:

Terminal window
aws ses send-email \
--from <YOUR_EMAIL> \
--to complaint@simulator.amazonses.com \
--subject test \
--text test

An email indicating a complaint will be sent to the --from address.

Complaint Simulation Example

Simulating Reject

To simulate a reject, send an email with an EICAR test file attachment using the following script:

Terminal window
FROM=<YOUR_EMAIL>
MESSAGE='{"Data": "From: $FROM\nTo: $FROM\nSubject: test\nMIME-Version: 1.0\nContent-type: Multipart/Mixed; boundary=\"NextPart\"\n\n--NextPart\nContent-Type: text/plain\n\ntest\n\n--NextPart\nContent-Type: text/plain;\nContent-Disposition: attachment; filename=\"sample.txt\"\n\nX5O!P%@AP[4\\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*\n\n--NextPart--"}'
MESSAGE=$(echo $MESSAGE | sed "s/\$FROM/$FROM/g")
aws ses send-raw-email \
--cli-binary-format raw-in-base64-out \
--raw-message "$MESSAGE"

You will receive a rejection notification email at the FROM address.

Reject Simulation Example

About the author

Takahiro Iwasa

Takahiro Iwasa

Software Developer

This blog shares technical notes from hands-on projects—architecture, implementation, and AWS service integrations.