- Newest
- Most votes
- Most comments
When SES is in sandbox mode, it has significant restrictions that affect Cognito's ability to send emails. Here's what's happening in your situation:
-
SES Sandbox Limitations: While in sandbox mode, SES can only send emails to verified email addresses or domains. This explains why you (as a verified address) are receiving emails, but other users are not. Even though you've verified individual user email addresses in SES, Cognito's integration with SES may not be leveraging these individual verifications properly.
-
Cognito and SES Integration: When your SES account is in sandbox mode, Cognito can only send emails to verified email addresses. This is a fundamental limitation of the sandbox environment, regardless of the number of users (even fewer than 12).
-
Troubleshooting Steps:
- Confirm all recipient email addresses are properly verified in SES
- Check if the user exists in the user pool
- Verify that users' status isn't set to FORCE_CHANGE_PASSWORD
- Check that users have verified email attributes in Cognito
- Check your SES message-sending quota
- Ensure your SMS and SES configurations have been properly set up
The most likely cause of your issue is that SES is in sandbox mode. While you've verified individual email addresses, the most reliable solution would be to:
- Reapply to move your SES account out of sandbox mode, providing more detailed information about your use case
- Alternatively, verify the domain(s) of your users' email addresses rather than individual addresses
- As a temporary workaround, you could implement a custom verification system using a Custom Message Lambda Trigger to handle the verification process
The verification code sent by Cognito is valid for 24 hours, so timing out shouldn't be the issue here. The core problem is almost certainly related to SES sandbox restrictions limiting email delivery to non-verified addresses.
Sources
Configuring email or phone verification - Amazon Cognito
Troubleshoot Amazon Cognito - Amazon Cognito
Cognito support for verification code configuration | AWS re:Post
Email address and domain verification problems - Amazon Simple Email Service
Cognito forget password through AWS Console error | AWS re:Post
As part of the troubleshooting steps, here are the responses to each:
- Confirm all recipient email addresses are properly verified in SES (all verified)
- Check if the user exists in the user pool (user exists in user pool)
- Verify that users' status isn't set to FORCE_CHANGE_PASSWORD (user status is "confirmed")
- Check that users have verified email attributes in Cognito (Yep, verified)
- Check your SES message-sending quota (SES message quota has not been reached)
- Ensure your SMS and SES configurations have been properly set up (Need more specifics, given 1 email is working I assume it's setup correct)
Relevant content
- asked 4 months ago
- asked a year ago
- asked 5 years ago
- AWS OFFICIALUpdated 3 years ago
