Classes
Name | Description |
---|---|
EmailForwardingRule | A construct to define an email forwarding rule that can either be used together with {@link EmailForwardingRuleSet} or as a standalone rule. |
EmailForwardingRuleSet | A construct for AWS SES to forward all emails of certain domains and email addresses to a list of target email addresses. |
Structs
Name | Description |
---|---|
EmailForwardingProps | No description |
EmailForwardingRuleProps | No description |
EmailForwardingRuleSetProps | No description |
EmailMapping | No description |
A construct to define an email forwarding rule that can either be used together with {@link EmailForwardingRuleSet} or as a standalone rule.
It creates two rule actions:
- One S3 action to save all incoming mails to an S3 bucket.
- One Lambda action to forward all incoming mails to a list of configured emails.
The Lambda function is using the NPM package aws-lambda-ses-forwarder
to forward the mails.
Implements: IConstruct, IDependable Extends: Construct
new EmailForwardingRule(parent: Construct, name: string, props: EmailForwardingRuleProps)
- parent (
Construct
) No description - name (
string
) No description - props (
EmailForwardingRuleProps
) No description- domainName (
string
) The domain name of the email addresses, e.g. 'example.org'. It is used to connect thefromPrefix
andreceivePrefix
properties with a proper domain. - emailMapping (
Array<EmailMapping>
) An email mapping similar to what the NPM libraryaws-lambda-ses-forwarder
expects. - fromPrefix (
string
) A prefix that is used as the sender address of the forwarded mail, e.g.noreply
. - id (
string
) An id for the rule. - ruleSet (
aws_ses.IReceiptRuleSet
) The rule set this rule belongs to. - bucket (
aws_s3.Bucket
) A bucket to store the email files to. Default: A new bucket will be created. - bucketPrefix (
string
) A prefix for the email files that are saved to the bucket. Default: inbox/ - enableLambdaLogging (
boolean
) Enable log messages in Lambda function which forwards emails. Default: true
- domainName (
A construct for AWS SES to forward all emails of certain domains and email addresses to a list of target email addresses.
It also verifies (or at least initiates verification of) the related domains and email addresses in SES.
The construct can be helpful if you don't want to host your own SMTP server but still want to receive emails to your existing email inbox. One use case is if you're just building some sort of landing page and want to quickly setup email receiving for your domain without yet another separate email inbox.
This construct can...
- create a new receipt rule set (or use an existing one),
- attach a list of rules to forward incoming emails to other target email addresses,
- verify a given domain in SES (automatically if domain is managed by Route53, otherwise it'll just initiate the verification),
- initiate verification for all target email addresses that are provided for receiving the forwarded emails.
Implements: IConstruct, IDependable Extends: Construct
new EmailForwardingRuleSet(parent: Construct, name: string, props: EmailForwardingRuleSetProps)
- parent (
Construct
) No description - name (
string
) No description - props (
EmailForwardingRuleSetProps
) No description- emailForwardingProps (
Array<EmailForwardingProps>
) A list of mapping options to define how emails should be forwarded. - enableRuleSet (
boolean
) Optional: whether to enable the rule set or not. Default: true - ruleSet (
aws_ses.IReceiptRuleSet
) Optional: an existing SES receipt rule set. Optional - ruleSetName (
string
) Optional: provide a name for the receipt rule set that this construct creates if you don't provide one. Default: custom-rule-set
- emailForwardingProps (
Name | Type | Description |
---|---|---|
emailForwardingMappings | Array |
|
ruleSet | aws_ses.IReceiptRuleSet |
Name | Type | Description |
---|---|---|
domainName | string |
The domain name for which you want to receive emails using SES, e.g. example.org . |
emailMappings | Array<EmailMapping> |
A list of email mappings to define the receive email address and target email addresses to which the emails are forwarded to. |
fromPrefix | string |
A prefix that is used as the sender address of the forwarded mail, e.g. noreply . |
bucket? | aws_s3.Bucket |
Optional: an S3 bucket to store the received emails. Default: A new bucket. |
bucketPrefix? | string |
Optional: a prefix for the email files that are stored on the S3 bucket. Default: inbox/ |
notificationTopic? | aws_sns.Topic |
Optional: an SNS topic to receive notifications about sending events like bounces or complaints. Default: A new SNS topic. |
notificationTypes? | Array |
Optional: a list of {@link NotificationType}s to define which sending events should be subscribed. Default: ['Bounce', 'Complaint'] |
verifyDomain? | boolean |
Optional: true if you want to verify the domain identity in SES, false otherwise. Default: false |
verifyTargetEmailAddresses? | boolean |
Optional: true if you want to initiate the verification of your target email addresses, false otherwise. Default: false |
Name | Type | Description |
---|---|---|
domainName | string |
The domain name of the email addresses, e.g. 'example.org'. It is used to connect the fromPrefix and receivePrefix properties with a proper domain. |
emailMapping | Array<EmailMapping> |
An email mapping similar to what the NPM library aws-lambda-ses-forwarder expects. |
fromPrefix | string |
A prefix that is used as the sender address of the forwarded mail, e.g. noreply . |
id | string |
An id for the rule. |
ruleSet | aws_ses.IReceiptRuleSet |
The rule set this rule belongs to. |
bucket? | aws_s3.Bucket |
A bucket to store the email files to. Default: A new bucket will be created. |
bucketPrefix? | string |
A prefix for the email files that are saved to the bucket. Default: inbox/ |
enableLambdaLogging? | boolean |
Enable log messages in Lambda function which forwards emails. Default: true |
Name | Type | Description |
---|---|---|
emailForwardingProps | Array<EmailForwardingProps> |
A list of mapping options to define how emails should be forwarded. |
enableRuleSet? | boolean |
Optional: whether to enable the rule set or not. Default: true |
ruleSet? | aws_ses.IReceiptRuleSet |
Optional: an existing SES receipt rule set. Optional |
ruleSetName? | string |
Optional: provide a name for the receipt rule set that this construct creates if you don't provide one. Default: custom-rule-set |
Name | Type | Description |
---|---|---|
targetEmails | Array |
A list of target email addresses that should receive the forwarded emails for the given email addresses matched by either receiveEmail or receivePrefix . |
receiveEmail? | string |
You can define a string that is matching an email address, e.g. hello@example.org . To catch all emails, just use @ and your domain as the value, e.g. @example.org .Optional |
receivePrefix? | string |
A short way to match a specific email addresses by only providing a prefix, e.g. hello . The prefix will be combined with the given domain name from {@link EmailForwardingRuleProps}. If an email was sent to this specific email address, all emails matching this receiver will be forwarded to all email addresses defined in targetEmails .Optional |