A serverless plugin that allows automatically creating, updating and removing AWS SES Templates using a configuration file and keeps your AWS SES Templates synced with your configuration file.
REQUIRES nodejs 8.10+
⚡ Features
- Allows declaring email templates that will be synced in pre-deploy phase
- Allows you to optionally add stage to template names while syncing
- Will also add alias, if specified (supports serverless-aws-alias plugin)
- Allows you to list and delete SES template by specified name
npm install @haftahave/serverless-ses-template
- All @haftahave/serverless-ses-template configuration parameters are optional
# add to your serverless.yml
plugins:
- '@haftahave/serverless-ses-template'
custom:
sesTemplatesAddStageAlias: true # Specifies whether to add stage and alias (if present) to template name (default false)
sesTemplatesConfigFile: './custom-config-file/path.js' # Config file path (default './ses-email-templates/index.js')
sesTemplatesRegion: 'us-west-2' # Specifies AWS region for SES templates
Template configuration file should be an array of objects:
module.exports = [{
name: 'example_name',
subject: 'Your subject',
html: '<h1>Hello world!</h1>',
text: 'Hello world!',
}];
Real world example see here.
- CLI argument named
sesTemplatesRegion
- top priority serverless.yml
custom key namedsesTemplatesRegion
- CLI argument named
region
- fallback to default region resolving (first region in first stage defined in serverless.yml)
- CLI argument named
sesTemplateConfig
- top priority serverless.yml
custom key namedsesTemplatesConfigFile
- fallback to default
./ses-email-templates/index.js
Run sls ses-template deploy
in order to sync your email templates.
Optional CLI options:
--sesTemplatesRegion The region used to populate your templates. Default: see "Region fallback sequence" in readme.md. [OPTIONAL]
--sesTemplateConfig Template configuration file path. Default: see "Template configuration file sequence" in readme.md. [OPTIONAL]
--stage The stage used to populate your templates. Default: the first stage found in your project. [OPTIONAL]
--alias Template alias, works only with sesTemplatesAddStageAlias option enabled. [OPTIONAL]
--removeMissed Set this flag in order to remove templates those are not present in your configuration file. [OPTIONAL]
Run sls ses-template list
in order to list your email templates.
CLI options:
--sesTemplatesRegion The region used to list your templates. Default: see "Region fallback sequence" in readme.md. [OPTIONAL]
--filter <string> Display templates that contain <string>. [OPTIONAL]
Run sls ses-template delete --template template_name_goes_here
in order to delete your email template.
CLI options:
--template The template name you are going to delete [REQUIRED]
--sesTemplatesRegion The region used to populate your templates. Default: see "Region fallback sequence" in readme.md. [OPTIONAL]
--stage The stage used to populate your templates. Default: the first stage found in your project. [OPTIONAL]
--alias Template alias, works only with sesTemplatesAddStageAlias option enabled. [OPTIONAL]
MIT