最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
图文步骤讲解使用亚马逊云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进入。
进入以后,会看到这个蓝色的按钮。
默认注册亚马逊云帐户是不开通SES邮件服务的,需要单独申请。
点击蓝色按钮进入申请页面。
在申请页面前两项是默认的,第三项Region是选择区域,选第一个就行。
Pre-Production Checklist:这个选项中3项全选中。
Use Case Description:这个描述您用SES邮件服务干什么,要写成英文的。
申请完成后,返回SES邮件服务界面,一般亚马逊24小时内会审批完成,就能看到结果。看这张图中的Sending Quota这一条,如果变成了1万,说明亚马逊审核通过,这时候就可以发邮件了。
选中SMTP Setting,点击Create My Smtp这个蓝色的按钮,再点Create按钮,务必记住这个用户名和密码。
安装一个客户端软件,如outlook、foxmail。
根据图片上画出的位置记下对应的SMTP发邮件设置信息,在您的客户端软件里面添上就可以了。
点Email Address,进入验证发邮件地址页面,添加上自己的发信邮箱,验证的时候亚马逊会给您发一封验证信,确认一下就可以。
这时候就可以用您的邮件客户端软件开始发邮件了,一天发上千封是没问题的。
但是这里面有一些注意事项:
1、一个发信邮箱一天最好别发超过5000封,否则以后再发就会进垃圾收件箱。
2、最好不要一次性发出,因为收信邮局有频率限制,连续发太多,实际很多并没有发到。
也可以找一些专业用亚马逊ses发邮件的工具,这些软件一般可以定时发送,设置发送频率,设置发送任务,自动生成邮件黑名单,查询反弹邮件,还有的可以根据不同的客户发送不同的内容等等。
邮件黑名单:空邮件地址和用户退订(用户点这是一封垃圾邮件)
反弹邮件:收到服务器异步返回的信息,有可能是1-2个小时以后才返回,实际由于各种原因并没有发送到,比如发送频率太快,邮件内容不符合要求等。
当然这类工具很多,搜一下就能找到,多对比一下,就能找到自己满意的。
祝大家使用顺利。
注意事项
注册亚马逊云帐号只能是一个信用卡一个电话一个账户,不能重复注册。
申请开通SES邮件服务,需要把申请原因描述的比较清楚,不能一笔带过。
相关文章
- 利用Flask-Mail开发邮件API的教程 09-25
- Laravel 5.3 邮件功能的使用详解 09-23
- Laravel 5.2 邮件功能使用详解 08-27
- YoMail邮件统计功能在哪?如何使用邮件统计教程 05-11
- foxmail给联系人群发邮件的操作方法 04-05
- Foxmail邮件发出去了可以撤回吗 Foxmail邮件撤回方法 03-10