Many people are having problems with getting production access to AWS SES. We have done it several times, so we try to summarize to you what you should do.
TLDR
Make sure you:
Explain AWS support how you comply with these. It's that simple!
Not enough explanation? Read the full version below!
Do you have more tips?
Please write an email to info [at] bluefox.email with your ideas, and we are going to include it in this article. (Please use the following subject line: "Production access to AWS SES Ideas")
If you’re new to SES, you’re initially put in what they call the "Sandbox". In this mode, you can only send emails to addresses you verify in advance.
With all of these, you can play around with SES. You can generate an Access Key Id
and a Secret Access Key
and you can send your first email via AWS SES. Alternatively, you can set up your credentials in your bluefox.emial project, and send your first email from there!
Here’s where you make the big move. AWS has you submit a request to get out of the sandbox and start sending emails without restrictions.
Go to the AWS SES Console
Log in, head to SES, and in the left sidebar, look for Sending Statistics. There, you’ll see an option to Request Production Access.
Fill Out the Request Form
AWS is going to ask you a few things. They’re trying to make sure you’re legit and not going to send spam or shady emails. Here’s what you’ll need to cover:
Submit the Request
Now it’s a waiting game. Usually, AWS gets back to you within a day or two, but it can sometimes take longer, depending on the specifics of your application and your account history.
I believe that the most important part of the request form is the "Additional Details" section. In the "Use-Case" and the "Mail Type" sections, you should have already explained how you want to use SES and your emails won't be spammy. In the "Additional Details" part, you can explain the technicalities about bounces, complaints, and unsubscribe links with subscription management.
Explain them that you are going to handle bounces and complaints by using SNS (Simple Notification Service) to send notifications to your webhooks. The webooks will flag the email addresses that complained or bounced, and you won't send any more emails to those email addresses. (You really should do this.)
Also explain, that any emails that are not transactional emails will contain an unsubscribe link that will lead the user to your email preferences page, where they can unsubscribe from your lists. (You really should do this.)
You can also explain that your users only can't unsubscribe from transactional emails or from messages that you required to send by law.
Finally, explain that your users will need to double opt-in to your emails (eg. newsletters) and when they register to your app and you sign them up to different lists, they accepted it by explicitly accepting the terms and conditions in which you explained it. (You really should do this.)
An "Additional Details" example, assuming you use bluefox.email
Once AWS reviews your application, you’ll get an email with their decision. There are two possible outcomes:
Once, my production access request was declined, and I did not understand why, because I was confident that I should get prod access! Then I explained to them again that I satisfy their policies, and explained again (in more detail) why I comply with their policies. I wrote down all the email types we send and why we comply with their policies.
And then without any explanation, I got production access. So, sometimes, you just have to highlight again why you comply with their policies.
Now that you’re in production mode, you’re ready to send emails without limits. Just keep a few things in mind:
And that’s it! I hope it helps, but if you have any questions, please reach out to us at hello [at] bluefox.email! We will try to help!