亚马逊简易电子邮件服务构建库
AWS CDK v1在2023-06-01上达到了支持结束. 此软件包不再更新,用户应该迁移到 AWS CDK v2.
关于如何移徙的更多信息,请参见: 移动到 AWS CDK v2 指南。 。 。 .
这个模块是 AWS 云开发套件 项目.
电子邮件接收
创建一套包含规则和行动(行动可见于
@aws-cdk/aws-ses-actions 软件包 :
import * as s3 from '@aws-cdk/aws-s3';
import * as actions from '@aws-cdk/aws-ses-actions';
const bucket = new s3.Bucket(this, 'Bucket');
const topic = new sns.Topic(this, 'Topic');
new ses.ReceiptRuleSet(this, 'RuleSet', {
rules: [
{
recipients: ['[email protected]'],
actions: [
new actions.AddHeader({
name: 'X-Special-Header',
value: 'aws',
}),
new actions.S3({
bucket,
objectKeyPrefix: 'emails/',
topic,
}),
],
},
{
recipients: ['aws.com'],
actions: [
new actions.Sns({
topic,
}),
],
},
],
});
或者,规则可以添加到一套规则中:
const ruleSet = new ses.ReceiptRuleSet(this, 'RuleSet');
const awsRule = ruleSet.addRule('Aws', {
recipients: ['aws.com'],
});
对规则的行动:
import * as actions from '@aws-cdk/aws-ses-actions';
declare const awsRule: ses.ReceiptRule;
declare const topic: sns.Topic;
awsRule.addAction(new actions.Sns({
topic,
}));
使用时 addRule,新规则将在最后增加的规则后添加,除非 after 已指定.
丢弃垃圾邮件
通过设置可以添加一个丢弃垃圾邮件的规则 dropSpam 改为 true数字 :
new ses.ReceiptRuleSet(this, 'RuleSet', {
dropSpam: true,
});
这将在规则集的顶部添加一条规则,并带有Lambda动作来停止处理至少有一个垃圾邮件指标的信息. 见 Lambda 函数示例。 。 。 .
接收过滤器
创建收件过滤器 :
new ses.ReceiptFilter(this, 'Filter', {
ip: '1.2.3.4/16', // Will be blocked
});
允许列表过滤器也可用 :
new ses.AllowListReceiptFilter(this, 'AllowList', {
ips: [
'10.0.0.0/16',
'1.2.3.4/16',
],
});
这将首先创建一个块全部过滤器,然后为列出的 ip 地址创建允许过滤器.