目录
- 一、背景
- 二、自有域名和解析要求
- 三、创建Workmail邮箱
- 四、创建用户并使用企业邮箱发送和接收
- 五、参考文档
一、背景
在跨境电商等许多业务场景中,需要使用海外邮箱服务器用于海外分支机构员工、海外客服等相关业务联系。此时使用国内邮箱服务器,可能存在发信延迟、收信延迟、正常邮件被投递到异常垃圾邮件箱等情况。因此,在海外搭建一套企业自己的邮件服务是这个场景的最佳选择。
企业邮件服务通常可选的方案包括:一是购买商用版本的企业邮件服务器软件并在云上私有化部署,二是使用开源邮件服务器私有化部署,三是购买第三方SaaS方式的企业邮箱。在亚马逊云科技的云端服务中,针对此场景提供的云服务是Amazon Workmail。
Amazon Workmail的底层是基于Amazon Simple Email Service服务(SES)构建,但是在上层为用户提供了完整的、友好的WEB UI,包括了日历、联系人、便签功能,还为PC端和移动设备提供了IMAP、POP3、ActiveSync等协议的支持,可进行移动端设备同步。用户在整个使用过程中,对Workmail底层架构无感。除去标准邮件功能外,Workmail还提供了面向企业邮箱管理的功能,包括邮箱保留周期规则、审计合规(Journaling)、邮件转发规则、关联Lambda等功能。目前,Amazon Workmail在us-east-1,us-west-2和eu-west-1三个区域可用。
需要注意的是,本场景使用Workmail是企业自用邮件服务器,发送和接受在同等重要的地位,甚至接受外部邮件的重要性大于发送。如果您是需要向外发送海量的注册通知、确认信、广告、营销等类型的邮件,那么您应选择直接使用Amazon Simple Email Service服务(SES),而不是通过Workmail发起。虽然Workmail底层也是通过SES实现发送和接收,但是Workmail是面向企业自用场景,不提供批量发送营销邮件的专用功能。这些功能包括用于发送邮件的独立IP、邮件信誉管理、日志、模版等,他们仅在SES服务中提供。
本文介绍如何在数分钟内配置好一个Workmail企业邮箱并投入使用。
二、自有域名和解析要求
1、准备自有域名
为使用企业邮箱,您需要注册并拥有自己的域名。在配置邮箱过程中,会要求为您的域名添加一系列DNS解析记录,包括CNAME记录,MX记录,TXT记录等多种记录,分别用于域名所有人验证、反垃圾签名等用途。
域名的注册和解析是两个独立的行为。您可以在任意域名注册商完成域名注册,然后在任何提供标准DNS服务的云上进行域名解析。此配置过程,请参考Amazon Route 53相关文档。本文的例子中,域名已经在其他域名注册商注册好,其域名解析功能由Amazon Route 53服务提供。
2、Workmail需要的相关域名记录
配置Workmail的过程中需要添加如下解析:
- 用于验证域名所有人的TXT记录
- 用于接收邮件的MX记录/用于接收邮件配置的CNAME记录
- 用于外发邮件的DKIM认证等CNAME记录和TXT记录
- 用于表示自己身份的DMARC协议的TXT记录
此外,当在Workmail界面上配置时候,域名本身也会成为SES验证的域名,因此后续SES可以直接使用。
3、Workmail与SES共存时候的域名配置说明
Workmail服务底层是基于SES构建的,可以和SES服务使用同一个域名。二者分工如下:
SES发送邮件:
- SES负责外发验证码、广告和营销类,配置过程中主要验证方式是CNAME验证;
Workmail发送和接收邮件:
- Workmail负责企业邮箱场景接收外部来信,配置过程分别要配置CNAME和MX记录;
- 对外发送时候,通过Workmail的Web UI、移动端设备等方式发出的邮件,都会被Workmail交给底层的SES发出,这个过程是透明的,用户无感知;
- 接收邮件时候,外部发来的邮件会通过MX记录查询落地到SES底层,然后Workmail会识别出来,通过Web UI或者移动端同步的方式展现给用户,这个过程是透明的,用户无感知;
以上过程可以看出,一个域名可以同时绑定到Workmail和SES。不过,由于CNAME不唯一性,每个Region使用SES配置的CNAME都不一样,因此同一个域名可用于多个AWS Region上使用SES服务。但是由于接收邮件使用的MX记录的唯一性,同一个域名只能添加一个MX记录,配置Workmail接收邮件只能在唯一的AWS区域。
三、创建Workmail服务
1、创建组织
进入Workmail服务,以us-west-2区域为例。点击创建组织。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-00.png)
在组织类型中,选择External domain
,表示解析是独立管理的,可以是AWS Route53,也可以是在其他的管理平台进行解析。然后在域名位置输入要提供邮件服务的域名。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-01.png)
在域名位置填写上邮箱要绑定的域名。然后继续向下滚动屏幕。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-02.png)
点击Advanced settings
高级设置,下边的两个默认选项保留默认即可,可用不用调整。第一个选项Create Amazon WorkMail Directory
表示使用Workmail自动创建的目录服务,如果您要使用自己管理的微软Active Directory服务请选择第二个选项Use existing directory
即可对接自己的与控制器。在加密位置,选择默认的Use Amazon WorkMail managed key
即可。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-03.png)
创建完毕,屏幕上显示组织创建中。等待3-5分钟后,显示Active
即表示创建完成。此时页面会提示,尚未经过域名验证,这时候需要点击左侧的Domains
菜单进行域名验证。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-04.png)
进入Domains
菜单后,可以看到屏幕上有两条记录,其中一条是上一步输入的域名本身,显示Pending Verification
,未经验证。另外还有一条xxxxx.awsapps.com
,这条是别名,创建后就立刻可以使用,已经是绿色的Verified
状态。不过,由于这个域名是别名,不是客户自己的域名,因此只在测试阶段会测试登录等用户,一般不会用于正式的使用。接下来还是完成域名验证。点击域名进入详情。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-05.png)
进入域名验证详情后,可以看到屏幕上给出了多种类型的认证,他们包括如下几类:
- 1、域名所有人验证:TXT记录
- 2、邮件服务:MX记录和CNAME记录
- 3、安全DKIM认证:CNAME记录和TXT记录
- 4、设置发件人(自定义Mail From)的DMARC认证:需要在SES服务中完成。
点击屏幕上方的Copy all
按钮可以复制所有的解析到剪贴板。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-06.png)
下文将先进入Route53配置1、2、3这三种类型的认证,然后再进入SES配置配置类型四所需要的DMARC认证。
2、在Route53上配置域名所有人、邮件服务、安全DKIM认证
配置域名所有人、邮件服务、安全DKIM认证的流程是完全相同的,现在以配置域名所有人为例。
首先从上一步的Workmail的Domain配置界面中,搜索获得对应的解析记录。例如复制出来结果如下:
- 记录(Record Name):_amazonses.bitipcman.com.
- 值(Value):nPFx6OKIWyyRlOOmOmVpPWSXe28k0lNTFz819+MFlDo=
进入Route53服务。点击左侧的Hosted zones
菜单,找到要添加解析的域名。如果不存在的话,可以点击Create hosted zone
。如果要解析的域名已经存在了,那么点击名称,即可进入解析记录配置界面。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-07.png)
在解析记录界面,点击右上角的Create record
按钮创建新的解析记录。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-08.png)
在左上角的名称位置,输入的要增加的域名解析的_amazonses.bitipcman.com.
的子域名,也就是不包含域名本身的部分。在本例中,在Record name
的位置填写_amazonses
。然后,在解析类型Record type
位置从下拉框中选择类型是TXT
,在Value
输入完整的解析,本例中就是从一开始的解析记录复制下来的nPFx6OKIWyyRlOOmOmVpPWSXe28k0lNTFz819+MFlDo=
。输入完毕,在TTL生存期位置保持默认的300秒无需修改,然后点击右下角的Create records
按钮创建解析。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-09-2.png)
创建完成后,页面显示创建成功。在下方的Records
搜索过滤框中,输入关键字,就可以看到刚才创建好的子域名。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-10-2.png)
至此第一个子域名配置完成。配置完成后,等待约5分钟。回到域名清单界面,可以看到第一个子域名已经显示为绿色的Verified
通过认证。
![](https://blogimg.bitipcman.com/workshop/workmail/w-11.png)
接下来重复上述步骤,配置邮件服务所需要的MX记录和CNAME记录、以及安全DKIM认证所需呀的CNAME记录和TXT记录配置完成。
配置注意事项:
- 包括CNAME记录在内,解析Record的值(Value)最后结尾有一个小圆点,复制时候请复制整条(包含小圆点)一起粘贴到域名解析位置。
- 其中有一条是根域名的TXT记录,配置这条记录的时候,再填写子域名留空。如下截图。
在Workmail服务的Domain可看到是安全认证部分的根域名的TXT记录。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-12.png)
配置Route53域名解析时候,子域名部分留空,直接填写记录类型和记录值即可。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-13.png)
配置完成,可能最多需要等待1小时,在通过Workmail服务的Domain界面,可看到刚才显示未经认证的域名都认证完毕。
3、为SES的Send from Custom Domain配置DMARC认证
在上一步完成后,可以看到在Workmail服务的Domain内前三项认证都通过,只剩下最后一条Custom MAIL FROM domain
显示尚未认证。此时提示可点击跳转到Amazon SES服务。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-14.png)
点击后进入SES服务。找到左侧Verified Domains
菜单,在当前域名下,点击第一个标签页Authentication
,然后向下滚动页面。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-15.png)
在页面最下方Custom MAIL FROM domain
位置,可以看到显示Not started
。此时点击右侧Edit
编辑按钮修改配置。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-16.png)
在启用自定义发送位置选中对话框表示开启,在外发子域名位置,输入workmail
作为子域名,在Behavior on MX failure
位置选择第一项默认的。然后点击保存配置按钮。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-17.png)
配置完毕后,可看到SES服务又给出了两个需要添加认证的记录,这两个记录的配置过程,需要仿照上述步骤,在Route53上完成子域名解析的设置。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-18.png)
配置Custom MAIL FROM domain
所需要的两条子域名解析的操作这里不再赘述。
配置完成。此时可以看到,SES服务的Custom MAIL FROM domain
位置显示认证成功。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-19.png)
至此SES服务配置完成。
4、切换Workmail外发时候使用的默认域名
为更好理解的Workmail的默认域名,先来看一个差不多的例子:CDN即CloudFront服务。
例子:当创建好CloudFront发布点后,CloudFront 默认会分配一个AWS的域名例如d123456.cloudfront.net
,然后用户需要将自己的域名www.abc.com
以CNAME记录的方式解析过去,即可实现使用用户自定义域名作为入口。此时,用户自己的CNAME域名和AWS自动生成的d123456.cloudfront.net
是可以同时访问的。
在Workmail配置中,如同刚才CloudFront的例子,Workmail也会默认分配一个使用xxxx.awsapps.com
样式域名,他和用户自定义的域名也是可是同时使用的,这里需要切换下默认值,将认证完毕的用户自定义域名作为发送时候的默认域名。
现在回到Workmail服务的Domain详情标签页。在详情标签页下,可看到所有的四种类型的解析终于都成为了绿色状态。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-20.png)
现在返回上一级菜单Domains
清单,可看到四种Domain认证方式都配置完成后,自定义域名的状态也变成了绿色。现在需要将其设置为默认域名。如果不完成这个步骤的设置,那么发出邮件后,别人看到的发件人将不是您自己绑定的域名,而是AWS默认分配的xxxx.awsapps.com
域名。
点击选中自己的域名,点击右上角的Set as default
。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-21.png)
设置成功。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-22.png)
至此后台需要的配置完成。
另外请注意,在以上配置完成后,在SES服务控制台的左下角菜单Email receiving
内,能看到Receipt rule sets
下,将会自动生成一条INBOUND_MAIL
的规则。这条规则就是负责将SES接收邮件与Workmail集成的。请勿删除这一条,否则绑定本域名的Workmail将不能正确接收邮件。
下一步开始增加用户。
四、创建用户并使用企业邮箱发送和接收
1、新建用户
进入左侧组织菜单下的Users
菜单。点击右上角的添加用户按钮。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-23.png)
我们以张三为例。输入邮箱名zhangsan
,姓(Lastname)和名(Firstname)为可选输入,在下边友好显示名称Display name
位置输入Zhang San
。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-24.png)
在用户id部分输入对应的邮箱,以及域名后缀。在Show in global address list
位置选中。在Remote user
位置留空。然后输入两次密码。点击右下角Add user
按钮,完成用户添加的过程。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-25.png)
创建完成。
![](https://blogimg.bitipcman.com/workshop/workmail/w-26.png)
2、登录WEB UI并测试发送和接收
现在查询WebUI入口。
进入组织菜单的顶层菜单,从右侧找到Amazon Workmail web application
的位置,其域名就是入口。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-27.png)
点击跳转。输入用户名和密码,点击登录。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-28.png)
登录成功。
![](https://blogimg.bitipcman.com/workshop/workmail/w-29.png)
现在测试收发。通过WEB界面,向外部邮箱(例如Gmail)发一份邮件。编写好之后,点击Send
按钮发送。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-30.png)
登录到Gmail中,检查是否成功收到来自Workmail自定义域名的发信。可确认收到,且显示发来的来信人的信息正确。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-31.png)
起草一封回信,从Gmail向Workmail邮箱的用户张三发送。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-32.png)
回到Workmail网页界面,刷新后可看到,接收成功。
![](https://blogimg.bitipcman.com/workshop/workmail/w-33.png)
至此Webmail的收发测试成功。
3、关于发送到国内邮箱时候显示为代发的说明
Workmail的主要使用场景是海外员工的企业邮箱,因此其发送的目标一般也是Gmail/Outlook等海外邮箱。当发给Gmail/Outlook等海外邮箱时候,Gmail/Outlook识别发件人正常,如本文上一个章节的页面截图。
当发送给国内邮箱的时候,国内邮箱可能会显示邮件由xxxxx.xxx@yourdomain.com代发的字样。这是由于由于国内很多邮箱对DMARC认证后的域名识别不好,即便用户自定义域名通过了包括DMARC在内的多种认证过,邮箱页面上依然会显示邮件由Amazon SES的域名代发的字样。这个问题是国内的邮件服务商造成的,之前测试Gmail时候也可以看到Gmail识别准确,不会显示邮件由Amazon SES代发。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-34.png)
本问题是由国内邮件服务商的技术特性造成的,与Workmail无关。今后如果国内的邮件服务商改进对DMARC的识别,就和Gmail/Outlook一样不显示由xxx代发这样的字样了。
4、使用邮件客户端测试
下面测试配置邮件客户端,这里以Windows上Outlook为例。
启动Outlook客户端,在配置界面输入邮箱名称。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-35.png)
在邮件服务器类型位置,选择Outlook.com
类型,表示云端在线邮箱。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-36.png)
在弹出窗口中,点击Allow
允许自动发现识别邮箱配置。选中下边的对话框,未来将不再提示本信息。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-37.png)
输入邮箱名称和密码。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-38.png)
配置完成,点击OK按钮启动Outlook。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-39.png)
启动Outlook后,同步云端刚才用Webmail测试的邮件完成,邮件已经被同步到Outlook中。
![](https://blogimg.bitipcman.com/workshop/workmail/w-40.png)
至此客户端配置完成。
5、配置移动端通过Exchange协议实现邮件、日历的同步
Workmail至此多种方式的移动端同步,即包括传统的IMAP方式,也包括兼容Exchange协议的ActiveSync至此。本文使用iOS 17系统为例进行配置。
在移动端配置Workmail的同步又分成手动配置和自动发现配置。自动发现配置需要配置额外的API提供autodiscover.xml
文件的托管和解析,相对步骤较多,本文不展开描述,请参考文本末尾的参考资料进行配置。
手工配置的主要流程如下:
- 进入iOS系统设置,找到
邮件
,找到账户
菜单,点击进入 - 在账户类型中选择
Microsoft Exchange
- 在电子邮件地址中,输入本次配置的邮箱全民,例如本例是
zhangsan@bitipcman.com
,描述部分填写Workmail
等友好名称,点击下一步继续 - 在弹出的对话框中,选择
手动配置
- 在弹出的对话框内,确认邮箱全名正确,然后输入密码
以上操作部分如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-41.png)
在输入密码后,继续输入如下关键信息:
- 电子邮件输入全名,本例中是
zhangsan@bitipcman.com
- 服务器输入
mobile.mail.us-west-2.awsapps.com
,如果是其他区域,请替换中间的区域代号 - 在域(Domain)位置,留空不需要输入
- 在用户名位置,输入邮箱全名,本例中是
zhangsan@bitipcman.com
- 在密码位置输入密码
- 描述位置保持上一步输入的
Workmail
不变。
点击下一步继续。如下截图。
![](https://blogimg.bitipcman.com/workshop/workmail/w-42.png)
接下来选择要同步的服务内容,包括邮件
、通信录
、日历
、提醒事项
、备忘录
,默认都是开启同步状态。最后点击存储,即可完成配置。再次点击邮箱,即可查看同步开关、同步日期等选项。
至此iOS手机移动客户端配置完成。接下来可以测试手机发送和接收,以及手机日历同步。
五、参考文档
Setting up email clients for Amazon WorkMail
https://docs.aws.amazon.com/workmail/latest/userguide/clients.html
连接 iOS 设备
https://docs.aws.amazon.com/zhcn/workmail/latest/userguide/mobile-client.html#connectios_device
启用配置 AutoDiscover 终端节点
https://docs.aws.amazon.com/zh_cn/workmail/latest/adminguide/autodiscover.html