一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

图文步骤讲解使用亚马逊云AMAZON SES发邮件全过程

时间:2015-05-21 编辑:简简单单 来源:一聚教程网

使用SES发邮件

(1) 使用SES(Simple Email Service)发邮件的时候,我们需要添加一个发件者邮箱(verify email sender),SES使用这个发件者邮箱作为发件者,添加完认证发信者之后,需要登录发信者邮箱点击确认连接。
SNS(简单消息服务)还有个类似的功能,叫topic,类似邮件组,将多个verified receivers添加到一个topic,然后在CloudWatch或者其他的服务调用,来发群邮件。这次先不讨论SNS。
可以使用下面这小段代码来添加verified sender

import boto.ses
conn = boto.ses.connect_to_region('us-east-1')
conn.verify_email_address('sender@address.com')

对了,截止我写这些时,SES只支持三个地区,Virginia,Ireland,Oregon(分别对应us-east-1, eu-west-1, us-west-2)
(2) 接来下我们收集SMTP credential相关信息
在SMTP Settings里面我们可以看到SMTP相关信息,例如Virginia地区的:

Server Name:                          email-smtp.us-east-1.amazonaws.com
Port:                                 25, 465 or 587
Use Transport Layer Security (TLS):   Yes
Authentication:                       Your SMTP credentials - see below.

然后在下面创建SMTP credential点击创建,他就自动创建了一个IAM角色并授权,并产生一组了类似AccessKey的信息,不过名字变成Username和password,形如:

IAM User Name,Smtp Username,Smtp Password
"ses-smtp-user.xxxx",AKIxxx,Aqbxxxxxxxxxxxxxxxxxx

(3) 这样使用SMTP发邮件的信息收集全了。可使用ConfigObj来加载配置文件中的Credential,并用smtplib来创建发邮件的对象

import smtplib
from configobj import ConfigObj

cfg = ConfigObj(config_path)
cfg_dict = cfg.dict()
host = cfg_dict["server"]
from_addr = cfg_dict["from_addr"]
username = cfg_dict["username"]
password = cfg_dict["password"]

server = smtplib.SMTP(host)
server.starttls()
server.login(username, password)
server.sendmail(from_addr, receivers, BODY)
server.quit()

配置文件形如:

server = email-smtp.us-east-1.amazonaws.com
from_addr = sender@domain.com
username = AKIxxx
password = Aqbxxxxxxxxxxxxxxxxxx


使用亚马逊云AMAZON SES发邮件图解步骤

普通企业发邮件很少,一般使用Gmail、163.com、Hotmail.com、QQ邮箱之类的邮箱直接发送就可以了。

但是如果您的客户比较多,日发送量超过500封以上,这就成了一个大问题,因为上面所说邮箱每日发送量都是有限额的,多了就发不出去了。

亚马逊云(aws)是世界上最早的也是最成熟的云平台,它上面提供了一个叫做SES的邮件服务,专门为满足上面所说的情况,每日发送几万封也是没问题得。

注册亚马逊云帐号,搜亚马逊云可找到。

注册帐号的时候需要一个手机、普通信用卡

安装一个普通邮件客户端软件,比如foxmail、outlook

方法/步骤

首先是注册亚马逊云帐号,并登陆AWS管理控制台,选择SES进入。


怎样使用亚马逊云AMAZON SES发邮件。



进入以后,会看到这个蓝色的按钮。

默认注册亚马逊云帐户是不开通SES邮件服务的,需要单独申请。

点击蓝色按钮进入申请页面。


怎样使用亚马逊云AMAZON SES发邮件。



在申请页面前两项是默认的,第三项Region是选择区域,选第一个就行。

Pre-Production Checklist:这个选项中3项全选中。

Use Case Description:这个描述您用SES邮件服务干什么,要写成英文的。


怎样使用亚马逊云AMAZON SES发邮件。



申请完成后,返回SES邮件服务界面,一般亚马逊24小时内会审批完成,就能看到结果。看这张图中的Sending Quota这一条,如果变成了1万,说明亚马逊审核通过,这时候就可以发邮件了。


怎样使用亚马逊云AMAZON SES发邮件。



选中SMTP Setting,点击Create My Smtp这个蓝色的按钮,再点Create按钮,务必记住这个用户名和密码。


怎样使用亚马逊云AMAZON SES发邮件。




怎样使用亚马逊云AMAZON SES发邮件。



安装一个客户端软件,如outlook、foxmail。

根据图片上画出的位置记下对应的SMTP发邮件设置信息,在您的客户端软件里面添上就可以了。


怎样使用亚马逊云AMAZON SES发邮件。



点Email Address,进入验证发邮件地址页面,添加上自己的发信邮箱,验证的时候亚马逊会给您发一封验证信,确认一下就可以。


怎样使用亚马逊云AMAZON SES发邮件。



这时候就可以用您的邮件客户端软件开始发邮件了,一天发上千封是没问题的。

但是这里面有一些注意事项:

1、一个发信邮箱一天最好别发超过5000封,否则以后再发就会进垃圾收件箱。

2、最好不要一次性发出,因为收信邮局有频率限制,连续发太多,实际很多并没有发到。

也可以找一些专业用亚马逊ses发邮件的工具,这些软件一般可以定时发送,设置发送频率,设置发送任务,自动生成邮件黑名单,查询反弹邮件,还有的可以根据不同的客户发送不同的内容等等。

邮件黑名单:空邮件地址和用户退订(用户点这是一封垃圾邮件)

反弹邮件:收到服务器异步返回的信息,有可能是1-2个小时以后才返回,实际由于各种原因并没有发送到,比如发送频率太快,邮件内容不符合要求等。

当然这类工具很多,搜一下就能找到,多对比一下,就能找到自己满意的。

祝大家使用顺利。

注意事项

注册亚马逊云帐号只能是一个信用卡一个电话一个账户,不能重复注册。

申请开通SES邮件服务,需要把申请原因描述的比较清楚,不能一笔带过。

热门栏目