首先,让我们先看看 Amazon SES 发送邮件的整个工作流程图.
从上图,我们可以总结出Amazon SES 发送邮件的过程由以下几个步骤组成的:
1. 客户端应用,或者说是发送端向Amazon SES发出请求,请求发送邮件给一个或多个接收者(收件人);
2. Amazon SES会接收发送端的请求和数据,且验证请求的有效性,如果请求有效,则封装请求数据,存入到待发送队列里,否则向发送端发出请求无效的警告;
3. Amazon SES会遍历队列,将队列中的邮件传送到各收件人的ISP,ISP也会做一些列的验证,如果验证通过,会将你的邮件发送到收件人的邮箱里. 如果不通过,则退货邮件到Amazon SES, SES再退回到发送端.
4 . 如果收件人地址不存在,ISP会发送一个退回通知给Amazon SES, Amazon SES将会将这个退回通知发送给发送端
5. 如果 收件人不想要接收你所发的信息,可能会向ISP投诉,将你的邮件注册成一个骚扰邮件,ISP将会通知Amazon SES,Amazon SES将会通知发送端.
使用Amazon 发送邮件时需注意的一些问题
客户端请求
如上所述,如果通过Amazon SES发送邮件,首先需要向SES发送一个请求. 发送请求的方式主要有两种: 一种是通过Amazon SES提供的API,或者通过http调用。
邮件内容过滤
发送电子邮件,垃圾邮件是我们必须要考虑的一个问题,你发送的邮件是电子邮件吗? ISP怎么识别电子邮件? 如果你不考虑这些问题,一旦ISP认为你发送的邮件是垃圾邮件,将冻结你所发的邮件,这样的邮件如果发送过多,ISP甚至会将你的发送端地址拉入黑名单,禁止你向任何用户发送邮件。
为了避免出现这种情况,在你通过Amazon SES发送邮件前,Amaonz SES会对你的邮件进行扫描,如果扫描出你的邮件里包含某些ISP可能会认为是垃圾邮件的信息,Amazon SES将会拒绝发送这封邮件,且会通过email,向你发送警告信息.
邮件发送数量的限制
每个申请Amazon SES服务的账号都有一个发送限制数,它限制了你每天发送邮件的最大数量,刚申请服务时,发送限制数是2000。Amazon 官网上对于为什么要有这个限制的解释是,避免用户在不知情或误操作的情况下,发送了大量的 ISP不信任的邮件(垃圾邮件),如果数量过大,导致ISP突然直接冻结用户的账号。所以,Amazon
SES会根据用户所发邮件的质量以及ISP对用户的信任度,会慢慢的曾大用户的发送限制数。
邮件退回或投诉
邮件退回,当你发送邮件时,指定收件人信箱时,可能一时大意打写错了,或者收件人信箱压根就不正确,或者收件人早已经注销了他的这个账户等,这样ISP由于找不到邮箱地址,会退回你的发送邮件。 有一点需要注意,如果你发出的邮件很多都被退回,Amazon SES将会降低你的发送限制数。所以,为了避免发送限制数的减低,你需要时刻关注Amazon SES给你发的警告信息,及时将这些无效的邮箱地址从收件人地址列表中删除.
投诉, 我们都知道,大部分邮件客户端都会提供一些功能按钮,如将邮件标志为垃圾邮件,或将邮件直接移到垃圾箱,并向ISP反馈这是垃圾邮件等。如果你的收件人收到你的邮件,且进行上述操作,ISP将会发送投诉到Amazon SES,而Amazon SES 将会将投诉转发给你。这里也需要注意,确保哪些人想接收你的邮件,如果你发出的邮件大部分被评为垃圾邮件,你的发送限制数将会减低,情况严重甚至会终止你的账户。
参考文章: http://docs.amazonwebservices.com/ses/latest/DeveloperGuide/Intro.ArchOverview.html
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
aws-lambda-send-ses-email, 使用Amazon发送电子邮件的AWS Lambda函数 aws-lambda-send-ses-email使用Amazon发送电子邮件的AWS Lambda函数。这个功能的主要目的是提供一个服务器端后端来发送来自 static 网站的电子...
python库。 资源全名:amazon-ses-template-editor-0.4.4.tar.gz
Spring启动与AWS-SES发送电子邮件
使用Amazon SES发送电子邮件的示例。 更多说明 安装 npm install 跑步 请与您一起更改index.js中的一些电子邮件地址。 发送电子邮件代码分为三个部分。 您可以使其存在或评论/删除该部分。 node index.js
将 SMTP 电子邮件代理到 Amazon 的 SES(简单电子邮件服务) 如果您的服务器只能通过代理访问 Internet,这将特别有用。 设置 安装命令 npm install -g ses-proxy AWS-SDK 将获取您的服务器 IAM 凭证(如果有的话...
您可以使用Custom::SES_Domain验证用于通过Amazon SES发送和/或接收电子邮件的域。 它处理SES域验证调用并输出SES所需的DNS条目,因此您可以将它们直接馈送到标准AWS::Route53::RecordSetGroup资源(如果不使用...
安装从安装适用于 PHP 的 AWS 开发工具包最简单的方法是从下载 1.5.17.1 版本并将其解压到适当的位置。 克隆此存储库后: # cd (where you cloned this ...?...// Create a mailer class with your Amazon ID/Sec
SES电子邮件接收规则配置如下规则: 收件人: 动作: S3动作: S3存储桶:example-aws-ses-redirect-lambda Lambda动作: Lambda函数:aws-ses-rediret-lambda 调用类型:事件S3水桶使用以下策略创建存储桶: { " ...
Django-SES无需通过传统的SMTP邮件服务器发送电子邮件,而是通过Amazon Web Services出色的简单电子邮件服务( )路由电子邮件。 变更日志 有关每个版本的详细信息,请参见GitHub版本页面: : //github....
我们在 Amazon Linux EC2 实例上使用 Sendmail,它与 Amazon 的简单电子邮件服务 (SES) 通信以发送电子邮件。 SES 的硬限制为 10MB。 如果我们尝试发送任何超过 10MB 的电子邮件,SES 将拒绝发送。 然后电子邮件...
使用发送批量邮件的实用程序。 首先,您需要从AWS注册并获取凭证(访问密钥和秘密密钥)才能使用此工具,该工具是通过提到的任何方法提供的。 要构建,您需要maven2和java> = 1.7。 mvn clean package 生成后,...
邮件bad 用go编写的自托管新闻邮件系统。 安装说明 该应用程序由用Go编写的Rest API和用React编写的仪表板应用程序组成。 整个应用程序驻留在该单个存储库中。 该应用程序取决于几种工具和服务: - go - ...
基本用法ses-relay容器假定它在Amazon EC2实例上运行,但是如果您在其他地方运行它,则可以专门提供AWS_REGION 。 它还假定您要在其他Docker容器中使用它。 如果要从其他网络使用它,则可以提供DC_RELAY_NETS 。 # ...
aws-ses-pop3-server :love_letter: 缺少POP3服务器-用golang编写。 已在macOS 11.1上的Apple Mail 14.0,iOS 14.1上的Apple Mail和Mac 16.45的Microsoft Outlook上进行了测试。 AWS SES在发送电子邮件方面功能...
EmailService:使用Amazon SES或SendGrid发送电子邮件的原型
Laravel开发-laravel-ses 允许您在通过Laravel和Amazon SES发送电子邮件时跟踪打开、交付、退回、投诉和单击的链接。
django-amazon-ses:使用Boto3与Amazon Simple Email Service(SES)交互的Django电子邮件后端
ArMailerAWS 守护程序,用于使用ActiveRecord通过SMTP,Amazon Simple Email Service(Amazon SES)或Mandrill发送批次的电子邮件,用于存储消息。 ArMailerAWS处理每日配额,每秒发送的最大电子邮件数(最大发送...
“可以使用Amazon SNS通知发布的最大电子邮件大小(包括标题)150 KB” 邮件具有附件后,将达到此限制,并将退回发送回发件人。 为了使更改保持较小,您可以将邮件保存在S3存储桶中,然后在lambda上调用一个非常...
npm install @haftahave/serverless-ses-template 配置 所有@ haftahave / serverless-ses-template配置参数都是可选的 # add to your serverless.yml plugins : - ' @haftahave/serverless-ses-template ' ...