- Newest
- Most votes
- Most comments
Based on the provided CloudFormation template and the described issue, there are a few potential reasons why the SES ReceiptRule Actions (Lambda and S3) are not being triggered when you send an email:
-
Rule Set Activation: The template creates a ReceiptRuleSet, but it doesn't explicitly activate it. SES requires an active rule set to process incoming emails. You may need to manually activate the rule set in the SES console or add a step in your deployment process to activate it.
-
Email Address Configuration: Ensure that the email address "upload@domain.co.za" (replace domain.co.za with your actual domain) is properly configured and verified in SES. The rule is set to trigger only for this specific recipient.
-
TLS Policy: The rule has a TlsPolicy set to "Require". Make sure that the sending mail server supports TLS, or consider changing this to "Optional" for testing purposes.
-
S3 Bucket Permissions: While the template includes an S3 bucket policy allowing SES to put objects, ensure that the bucket actually exists if you're not creating it in this template (CreateBucket parameter is set to "false" by default).
-
Lambda Function Code: The template defines the Lambda function, but make sure that the actual code in the "handle_incoming_mail" directory is correctly implemented to process the SES event.
-
CloudWatch Logs: Check the CloudWatch Logs for the SES service to see if there are any error messages or indications of why the actions are not being triggered.
To troubleshoot:
- Verify that the ReceiptRuleSet is active in the SES console.
- Double-check the email address configuration and verification status in SES.
- Temporarily set the TlsPolicy to "Optional" for testing.
- Ensure the S3 bucket exists and has the correct permissions.
- Review the Lambda function code for any potential issues.
- Check CloudWatch Logs for both SES and the Lambda function for any error messages.
If these steps don't resolve the issue, you may need to contact AWS Support for further assistance, as there might be an account-specific configuration or limitation affecting the SES ReceiptRule processing.
Sources
Granting permissions to publish event notification messages to a destination - Amazon Simple Storage Service
Giving permissions to Amazon SES for email receiving - Amazon Simple Email Service
Relevant content
asked 4 years ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated 9 days ago

I activated the rule in the console; my domain is replaced with my verified domain; I tried without TLSPolicy also; Bucket exists; Lambda exists in directory and is created successfully; Can't find any logs in CloudWatch