- Newest
- Most votes
- Most comments
It seems you're experiencing an issue with AWS SES not delivering messages to your S3 bucket when your rule set is activated. This is an unusual situation, as typically, activating the rule set should enable the delivery of emails to your S3 bucket. Let's go through some potential reasons and solutions for this problem:
-
Rule Set Configuration: Ensure that your rule set is correctly configured. Double-check that the recipient condition in your rule matches the email address you're sending to, and that the S3 action is properly set up to deliver to the correct bucket.
-
Rule Order: If you have multiple rules in your rule set, make sure the rule for S3 delivery is in the correct order. SES processes rules in the order they appear, so if there's a conflicting rule earlier in the set, it might prevent the S3 delivery rule from being executed.
-
Permissions: Although you mentioned using the "Create IAM Role" option, which should set up the correct permissions, it's worth double-checking that SES has the necessary permissions to write to your S3 bucket. Verify that the IAM role associated with your SES rule has the appropriate S3 write permissions.
-
MX Records: Having multiple MX records (for Gmail and SES) might cause confusion. Ensure that the SES MX record has a higher priority (lower number) than your Gmail MX records if you want SES to handle incoming emails first.
-
Email Flow: Verify that emails are actually reaching SES. Since you're using Gmail as your primary email server, make sure that emails intended for SES processing are not being intercepted by Gmail first.
-
Logging and Monitoring: Enable logging for your SES rule set to get more information about what's happening when emails are processed. You can also check CloudTrail logs for SES activities to see if there are any errors or issues during rule processing.
-
Test with a Simple Rule: Try creating a very simple rule set with just one rule that delivers to S3, and test with that. This can help isolate whether the issue is with your specific rule configuration or a more general problem.
-
SES Console: Check the SES console for any error messages or notifications that might provide clues about why emails aren't being delivered to S3.
-
Caching and Propagation: Sometimes, changes to SES configurations can take a little time to propagate. If you've recently made changes, wait a few minutes and try again.
-
Support: If none of these steps resolve the issue, consider contacting AWS Support. They can provide more detailed, account-specific troubleshooting.
Remember, when your rule set is not active, SES falls back to its default behavior, which explains why you're seeing the SES_NOTIFICATION object in your bucket. The goal is to get your active rule set to correctly process and deliver the emails to your S3 bucket.
Sources
AWS SES Not Delivering to the right S3 Bucket | AWS re:Post
Deliver to S3 bucket action - Amazon Simple Email Service
Amazon SES email receiving concepts and use cases - Amazon Simple Email Service
Relevant content
asked 2 years ago
asked 8 years ago
- AWS OFFICIALUpdated a year ago

I think the MX records is creating problem as pointed out here. However I have a seperate question. As in my set up i just want to receive the incoming emails for a particular email address which i mentioned in my recepient condition... So if i put SES in higher priority to Gmail will it effect the other emails that i still intend to receive in Gmail only?
Hi Mithun D, please note that once you point your MX record for your domain to SES, all the emails sent to your domain (for any email identity) would be sent to SES endpoints.
Thus, this will affect email receiving for your complete domain.
Mail exchange record (MX record) is a configuration that specifies which mail servers can accept email that's sent to your entire domain. An MX record specifies the names of your mail servers and each value for an MX record contains two values, priority and domain name. The MX record priority determines the order in which servers are supposed to be contacted, the server(s) with the highest priority (and the lowest preference number) will be considered while the others will be used as backups only. If you list more than 1 MX record for a domain, any host attempting to deliver email for that domain will only attempt such delivery to one MX at a time.