- Newest
- Most votes
- Most comments
Yes, there is a way to suppress outgoing emails for entire domains using Amazon SES, though it's not directly called a "blacklist." You can achieve this using the account-level suppression list feature.
The account-level suppression list in Amazon SES allows you to prevent sending emails to specific addresses or domains that you know won't be useful or may harm your sender reputation. While it's primarily designed to prevent sending to addresses that have previously resulted in bounces or complaints, you can also use it proactively to suppress entire domains.
To suppress a whole domain, you would need to add all email addresses for that domain to your account-level suppression list. This can be done in bulk using the Amazon SES API v2. Here's how you can approach this:
-
Create a list of email addresses for the domain you want to suppress. You can use a wildcard pattern like *@example.com to cover all addresses in that domain.
-
Upload this list to an Amazon S3 bucket.
-
Use the CreateImportJob operation in the Amazon SES API v2 to bulk add these addresses to your account-level suppression list.
By doing this, any emails sent through your SES account to addresses in the suppressed domain will be accepted by SES but not actually sent. This will help you avoid using up your quota on placeholder emails or other addresses you know won't be useful.
Remember that you'll need to have production access to SES to use the bulk import feature. Also, keep in mind that while this method will prevent emails from being sent to the suppressed domains, these suppressed emails will still count towards your daily sending quota.
If your needs change in the future, you can remove domains from the suppression list using a similar bulk process with the DeleteImportJob operation.
Sources
Using the account-level suppression list - Amazon Simple Email Service
Amazon SES Suppression List: | AWS re:Post
It's better to not use real email addresses for placeholders, since whatever protection you put in place to prevent sending may fail due to regression or oversights. It's best to fix the problem at the source of truth for the recipient list. To enable this proactive solution, SES offers mailbox simulator addresses [1]. So, you can replace the addresses with success+[placeholder_id_map_to_real_recipient]@simulator.amazonses.com
The next thing you can do is add some "bounce", "complaint", and "suppressionlist" variants into your test recipient list, and use that to ensure you are able to handle events by removing bouncing addresses, and if there are complaints that you don't expect you can use the complaints as an indicator that your subscribe/unsubscribe process is not user-friendly (conformant to the one-click-unsubscribe requirements from mailbox providers) [2]
[1] https://docs.aws.amazon.com/ses/latest/dg/send-an-email-from-console.html [2] https://aws.amazon.com/blogs/messaging-and-targeting/using-one-click-unsubscribe-with-amazon-ses/
Relevant content
- asked 2 years ago
- asked 3 years ago
- asked 2 years ago
- asked 3 years ago
- AWS OFFICIALUpdated 21 days ago
- AWS OFFICIALUpdated 12 days ago
Suppression lists are a backstop for users (on the subset of mailbox providers - specifically Yahoo, Microsoft consumer domains, and Comcast) that are persistently marking messages as spam and their mailbox providers is sending user-attributable complaints. However, not all mailbox providers send complaints, so the suppression list has limited value.
As the genAI answer suggests, you could backfill all addresses to which you don't want to email into the account-level suppression list. However, that assumes you know which addresses that are specifically "not subscribed", in which case, you shouldn't be attempting to email those non-subscribers in the first place.
It's better to NOT use real email addresses for placeholders, since whatever protection you put in place to prevent sending may fail due to regression or oversights. It's best to fix the problem at the source of truth for the recipient list.