In this guide you will learn how to setup Amazon SES and connect it to Semplates. This is an important requirement in order to publish and use templates in SES after designing them in Semplates.
Enabling production mode
In case you are already using AWS SES and want to connect it with Semplates right away, you can skip the first step and move to the next section. If you do not have an AWS account yet, go and sign up for one here.
If you have not used SES before, you first have to get out of sandbox mode. To achieve this, log into the AWS console and go to the SES dashboard. First you will be asked to create an identity. For this, you need to verify a domain or email address that you wish to use for sending emails. Afterwards you will find a note, that you are still in sandbox mode (as in the below image) and that you have to request production mode access. Follow the description as stated there to achieve this step:
Creating AWS credentials
Next you need to grant Semplates access to AWS SES by creating a new account that grants Semplates permissions. To do so navigate to AWS IAM (Identity and Access Management) in the AWS Console and open the Users panel. Click Add users in the upper right corner:
Choose a username and select the AWS access type Programmatic access. Programmatic access allows this user to only use the SES resources via AWS API, CLI or SDK:
Now select the existing policy AmazonSESFullAccess. This gives us permission to add new templates, verify emails, etc.:
Alternatively, you can also create a custom policy in order to give Semplates as little permissions as possible but as much as needed:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ses:CreateTemplate",
"ses:DeleteIdentity",
"ses:DeleteTemplate",
"ses:DeleteVerifiedEmailAddress",
"ses:GetAccountSendingEnabled",
"ses:GetEmailIdentity",
"ses:GetIdentityDkimAttributes",
"ses:GetIdentityMailFromDomainAttributes",
"ses:GetIdentityVerificationAttributes",
"ses:GetTemplate",
"ses:ListConfigurationSets",
"ses:ListIdentities",
"ses:ListTemplates",
"ses:ListVerifiedEmailAddresses",
"ses:PutEmailIdentityDkimSigningAttributes",
"ses:SendBulkTemplatedEmail",
"ses:SendEmail",
"ses:SendRawEmail",
"ses:SendTemplatedEmail",
"ses:SetIdentityMailFromDomain",
"ses:TestRenderTemplate",
"ses:UpdateTemplate",
"ses:VerifyDomainIdentity",
"ses:VerifyDomainDkim",
"ses:VerifyEmailAddress",
"ses:VerifyEmailIdentity"
],
"Resource": [
"*"
]
}
]
}
Continue the setup by creating the user. Afterwards a Key Pair will be shown to you. Store it safely or directly enter it as described below.
Connecting with Semplates
You can either enter your information within the onboarding dialog or go to Settings > AWS Credentials and enter your credentials there. Make sure to use the correct region (the one AWS SES is located in). We will then validate your credentials.
Note: You cannot access the secret key again, however, you can delete the access pair and create a new one.
A word on connecting multiple AWS SES accounts
One of the most exciting features of Semplates is the possibility to add multiple accounts and then duplicate templates between them. It allows you to smoothly support a couple of advanced usage patterns including:
- Managed AWS SES: If you manage AWS SES for a client (e.g. as an agency), you can design and test your templates in your own AWS SES account before duplicating them to your client.
- CI/CD Template Design: If you have multiple AWS accounts due to your development setup (e.g. develop, staging, production), then you can use Semplates to move your templates along, following the same process logic.
- Multi Region Architectures: Your architecture is spanning across multiple regions? If SES needs to be available redundantly for you, so do your templates!
Continue the setup
You have now successfully connected AWS SES with Semplates. Continue the setup by: