serverless-respat-ses-forwarder
v2.0.0
Published
Resource pattern to setup email forwarding through SES
Downloads
7
Maintainers
Readme
serverless-respat-ses-forwarder
Resource Pattern for forwarding emails using SES
Usage
This package is intended for use with the serverless-respat plugin. (install/usage info).
Install:
npm install --save-dev serverless-respat-ses-forwarder
Add patterns to the "custom" object in your serverless config file:
"custom": {
"serverless-respat": {
prefix: "${self:service}-${opt:stage}",
patterns: [
{
pattern: require("serverless-respat-ses-forwarder"),
config: {
ses_ruleset_name: "EmailForwarding",
bucket_name: "el-bucket-de-email",
email_recipients: ["kjsdfjweijfkjsdfhjkhdf.com"],
lambda_function_name: "ForwardEmail"
}
}
]
}
}
Add a function that does the email forwarding for you. The property name should match the lambda_function_name
in your plugin config.
"functions": {
"forwardEmail": {
"handler": "handlers.forwardEmail",
"role": "SesForwarderLambdaForwardRole"
}
}
The easiest way to setup a forwarding lambda function is to use aws-lambda-ses-forwarder. Your handlers.js
file would then look something like this:
const ses_forwarder = require('aws-lambda-ses-forwarder');
module.exports = {
forwardEmail: (event, context, callback) => {
return ses_forwarder.handler(event, context, callback, {
config: {
fromEmail: "noreply@YOUR_DOMAIN",
subjectPrefix: "YOUR_DOMAIN: ",
emailBucket: "YOUR_DOMAIN-email",
emailKeyPrefix: "",
forwardMapping: {
"@YOUR_DOMAIN": ["[email protected]"]
}
}
})
}
}
Make sure you have verified your email address and domains for SES using the AWS console.
Config options
pattern_name - (string, default: "SesForwarder") A pattern name included in resource names.
bucket_path - (string, default: '/') Path to bucket.
bucket_name - (string, REQUIRED) The S3 bucket name used to store your emails.
ses_ruleset_name - (string, REQUIRED) The active SES ruleset where the receipt rules will be added. The ruleset must already exist.
email_recipients - (string, REQUIRED) The email address where you would like the emails to be forwarded.
lambda_function_name - (string, REQUIRED) The name of the lambda function that does the forwarding.