Skip to content

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