Why can't I receive email notifications from my Amazon SNS topic?
Last updated: 2021-06-30
I'm not receiving email notifications from my Amazon Simple Notification Service (Amazon SNS) topic.
Email endpoints don't support Amazon CloudWatch delivery status logs, unlike other supported endpoints for Amazon Simple Queue Service (Amazon SQS), AWS Lambda, HTTPS, and push notifications.
Verify that your email endpoint is in the confirmed state
Note: If you receive errors when running AWS Command Line Interface (AWS CLI) commands, make sure that you’re using the most recent AWS CLI version.
Use either the AWS Management Console or AWS CLI to verify the state of your email endpoint.
1. Open the Amazon SNS console.
2. On the navigation pane, choose Topics, and then choose your topic.
3. In the Subscriptions section of the topic page, find your email endpoint in the Endpoint column.
4. In the Status column of your subscription, verify that the status is Confirmed. The status is confirmed when the email endpoint has been successfully subscribed.
Manually confirm the subscription in the Amazon SNS console. If you can't receive the confirmation email, complete the steps in the following sections:
- Check if email addresses can receive emails from external contacts
- Check for a firewall, spam filter, blockers, or filter policy
5. To re-request the confirmation email, select the subscription with your endpoint, and then choose Request confirmation.
Run the following AWS CLI command:
Note: If there is no email endpoint in the Endpoint column, then you can assume that the endpoint was deleted.
Check if email addresses can receive emails from external contacts
To check if the issue is limited to Amazon SNS, send a test email from an external provider to your destination email address. This helps you gauge what kind of traffic is allowed from external sources. Mailboxes within an organization are often limited to internal traffic.
If the mailbox works and has no issues, then complete the steps in the Check for a firewall, spam filter, blockers, or filter policy section.
Check for a firewall, spam filter, blockers, or filter policy
Try the following:
1. Check with email administrators to see if the email@example.com address is being filtered out by a firewall or spam filter.
Tip: It's a best practice to add the firstname.lastname@example.org address to your mailbox allow list. For more information, see the Q: Do subscribers need to specifically configure their email settings to receive notifications from Amazon SNS? entry in Amazon SNS FAQs.
2. If your emails are still getting filtered out as spam, check the mailbox rules for explicit denies that block your SNS topic email. You can also check if emails are getting routed to specific folders in the mailbox.
3. To prevent individuals from unsubscribing all recipients of your SNS topic email, set up an authentication to unsubscribe.
Note: You must have the required permissions to unsubscribe to your email endpoint. You can confirm the subscription with an authenticated user in the Amazon SNS console or with the AWS CLI.
Check for a filter policy on the subscription:
1. Open the Amazon SNS console.
2. On the navigation pane, choose Subscriptions.
3. In the search box, enter the email address or SNS topic that the email endpoint is subscribed to, and then choose your subscription in the results.
4. For your email endpoint, choose the Subscription filter policy tab, and then look for a filter policy on the subscription in the Subscription filter policy section.
Note: Amazon SNS compares the message attributes to the attributes in the filter policy when a message is sent to the endpoint. If the message attributes and the filter policy attributes don't align, the message won't be received on the email endpoint.