Simple Email Service (SES)
Sends transactional email such as order confirmations and password resets from your application. SES sends through a shared AWS account with your team's domain already verified, so you don't need to request or manage domain verification yourself.
Terraform configuration
The ses_config block grants an application permission to send email through the shared SES account, either from IAM roles directly or through a generated SMTP user.
main.tf
module "application" {
source = "git@github.com:BYM-IKT/terraform-byks-module.git?ref=v12"
# ...
ses_config = {
# options go here
}
}
Options
| Option | Type | Default | Description |
|---|---|---|---|
from_addresses |
list(string) |
required | Addresses to send from, verified as part of a whole domain identity in the shared SES account. The domain must already be verified in SES—contact Team Cloud if it isn't. |
additional_single_identity_from_addresses |
list(string) |
[] |
Extra addresses to send from that are verified as individual email identities rather than as part of a domain. Use this when the domain itself isn't verified in SES. |
additional_sender_iam_roles |
list(string) |
[] |
Extra IAM role names granted permission to send through SES, on top of every ecs_services task and execution role and every lambda_functions function role in this application, which are granted automatically. |
create_smtp_user |
bool |
false |
Create an SMTP user for sending email over SMTP instead of the AWS API. Credentials are stored as the SMTP_USERNAME and SMTP_PASSWORD secrets in Secrets Manager. |
override_application_name |
string |
application_name in lowercase |
Name used for the SES-related resources instead of the application's own name. |
Resources
-
AWS documentation
Official AWS documentation for SES