开发者社区> 技术小阿哥> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Office365与本地Exchange混合部署后无法互相发送邮件及解决方案

简介:
+关注继续查看

我们前面的文章介绍了Office365与本地Exchange混合部署及Office365与本地Exchange互相迁移用户的配置介绍,今天就介绍Office365与本地的Exchange邮箱用户实现邮件互相收发介绍,说到Online与本地的Exchange邮件互发,我们都知道,在配置Online与本地Exchange互发及添加本地域的时候,验证本地域,验证的时候,需要在本地的DNS中将MX记录指向Online,只有这样配置后,才能验证本地域及完成混合部署,但是对于企业来说,将MX记录指向Online的时候对于管理上有点不太方便,所以一般也会将MX记录指向本地的邮箱服务器,所以我们还需要修改DNS的解析将MX记录指向本地域。当然对于今天我们介绍的主题来说,这个不是关键,不管指向哪都会正常投递邮件,只是邮件流有点改变而已。对于邮件流的问题我们下一篇在着重介绍。我们今天介绍的主要内容就是本地的Exchange邮箱用户与Online邮箱用户实现互发邮件介绍。具体见下:

我们在介绍邮件互发之前需要申明的是,由于Online与本地的Exchange邮件投递都会通过公网(Internet),所以在Exchange的证书配置上有严格要求。由于邮件的投递会经过公网,所以Exchange服务器的证书必须在公网上受信任。如果我们使用的是内部的CA为exchange颁发的证书的话,会在公网上不受信任。所以如果要想实现本地邮件与Onlne的邮件的正常投递,我们需要为Exchange服务器申请公网的受信任的证书。

如果不申请公网证书的话会出现以下问题;

我们部署完混合环境后,发现office365的mailuser无法正常投递邮件到本地的mailuser邮箱内;我们通过查看官网介绍查看到。如果证书不受信任会出现邮件无法正常投递的现象(Online无法给本地的Exchange投递邮件)。

混合部署中的 Exchange Online Protection

EOP 是 Microsoft 提供的联机服务,由许多公司用于保护其内部部署组织免受病毒、垃圾邮件、欺诈邮件和策略违规的危害。在 Office 365 中,EOP 用于保护 Exchange Online 组织免受相同威胁的危害。在注册 Office 365 时,会自动创建与您的 Exchange Online 组织关联的 EOP 公司。

EOP 公司包含一些邮件传输设置,可以为 Exchange Online 组织配置这些设置。可以指定哪些 SMTP 域必须来自特定 IP 地址,需要 TLS 和安全套接字层 (SSL) 证书,可以绕过反垃圾邮件筛选或合规性策略,等等。EOP 是 Exchange Online 组织的前门。所有邮件(无论其来源如何)都必须先经过 EOP,然后才能到达 Exchange Online 组织中的邮箱。而且,从 Exchange Online 组织发送的所有邮件都必须先经过 EOP,然后才能到达 Internet。

在使用混合配置向导配置混合部署时,会在内部部署组织以及为 Exchange Online 组织设置的 EOP 公司中自动配置所有传输设置。混合配置向导会在此 EOP 公司中配置所有入站和出站连接器及其他设置,以保护在内部部署与 Exchange Online 组织之间发送的邮件并将邮件路由到正确目标。如果要为 Exchange Online 组织配置自定义传输设置,则也会在此 EOP 公司中配置这些设置。

受信任通信

为了帮助保护内部部署和 Exchange Online 组织中的收件人,并帮助确保不会截获和读取组织之间发送的邮件,内部部署组织与 EOP 之间的传输会配置为使用强制 TLS。TLS 传输使用受信任第三方证书颁发机构 (CA) 提供的安全套接字层 (SSL) 证书。EOP 与 Exchange Online 组织之间的邮件也使用 TLS。

当使用强制 TLS 传输时,发送和接收服务器会检查在其他服务器上配置的证书。对证书配置的使用者名称或使用者替代名称 (SAN) 之一,必须与管理员在其他服务器上显式指定的 FQDN 匹配。例如,如果 EOP 配置为接受并保护从 mail.contoso.com FQDN 发送的邮件,则发送内部部署客户端访问或边缘传输服务器必须具有在主题名称或 SAN 中包含 mail.contoso.com 的 SSL 证书。如果不满足此要求,则 EOP 会拒绝连接。

由于我们的证书不受信任,所以Online上的邮箱用户是无法给本地的Exchange邮箱用户投递邮件,当然,本地的Exchange邮箱用户是正常可以和外部域互相收发邮件的,同时Online上的邮箱用户也与外部的域名服务器收发邮件,所以我们需要在Online上进行查看配置。

首先我们需要确认是,默认不受信任的证书配置从本地的exchange邮箱用户可以正常投递邮件到Online邮箱用户的

我们首先查看现在的用户分布

User01为local用户

User02位online用户

image

使用user01本地邮箱给office365发送测试邮件

image

在使用office365上的user20给本地的user01发送回复

image

但是我们从Online给本地exchange邮箱用户投递邮件是无法发送的,所以我们需要更换公网受信任的证书

打开office365邮件流设置-----链接器

单击office365到组织内的邮件链接器

image

单击---验证此链接器

image

image

我们开始验证此连接器

image

我们输入本地exchange的邮箱账户---user01@ixmsoft.com

image

开始验证office365到本地组织邮箱账户的连接器

image

验证完成

image

我们发现验证失败

image

我们双击打开该验证结果:

提示SMTP TLS身份验证失败;由于证书不是受信任的颁发机构颁发的,所以会提示错误。

由于该错误,才导致office365无法到本地的邮件投递

image

我们修改该outbond发送连接器,取消tls设置

image

我们取消了tls后再次验证

image

同样使用本地的user01

image

其实通过下面的图示,我们可以确认,取消tls后,Online用户可以给本地的exchange用户投递测试邮件了

image

取消tls后,测试结果为通过

image

验证连接器可以成功

image

或者我们***连接器的证书安全性;选择任何数字证书,包括自签名证书

image

同样本地给office365 online上发送也有问题;通过邮件队列查看器查看也是无法发送到Online上的。通过查看也是证书的相关错误

image

失败的原因是由于office365到本地的exchange必须要有第三方(公认)的证书支持才可以互相发送邮件;

所以我们需要申请第三方证书:

首先我们需要通过exchange申请一个服务器证书csr文件

image

从证书颁发机构获取证书的请求

image

选择证书存储的服务器

image

定义证书名称及类型;指定外部访问exchange服务器所对应的域名访问

image

定义好后,我们就可以看见证书服务的状态

image

定义证书信息

image

保存证书的req文件。我们需要通过req文件向第三方申请

image

证书申请完成

image

接下来就是申请公网证书,该baisc码问申请的req文件

image

免费公网证书申请

在此我们使用沃通

https://www.wosign.com/

image

image

https://buy.wosign.com/ProductList.html

image

输入申请证书的域名信息。

image

我们定义好外部访问的受信任的域名信息

image

证书申请提交完成

image

因为需要验证域名的所有者,所以系统会列出一些可以验证该域名所有者的邮件信息;

image

提交验证后,我们在证书所有者验证的邮箱中是可以看见系统发送验证的邮件信息的。

image

我们输入域的所有者验证码后,提交申请

image

我们需要使用提交csr文件来申请证书,所以我们需要将本地申请exchange证书提交产生的req文件内容粘贴到此处即可

image

提交后,提示证书已经颁发了,我们需要下载即可

image

证书下载信息

image

我们下载证书后,会有几个证书文件,可以根据自己的需求环境使用,其实我们使用for iis的证书或者for other server就可以

image

关于证书的操作文档

证书格式转化文档

https://bbs.wosign.com/forum.php?mod=viewthread&tid=20&highlight=%B8%F1%CA%BD%D7%AA%BB%BB

http://www.wosign.com/Docdownload/index.htm

接下来我们需要对刚才申请的证书进行搁置完成

image

证书搁置完成

image

接下来就是为证书分配服务

image

然后我们使用本地的ecp进行访问exchange管理中心页面,查看证书信息;

提示该证书是受信任的第三方证书

image

更换证书后,我们发现从本地exchange邮箱用户无法给online发送邮件了,发送的邮件我们可以在exchange邮件队列中可以看见,所以我们首先需要一步一步进行排查,

image

http://c7solutions.com/2013/11/cannot-send-emails-to-office-365-or-exchange-online-protection-using-tls

http://blogs.msmvps.com/expta/2014/03/10/troubleshooting-tls-smtp-connections-to-exchange-online-protection/

我们通过telnet的相关信息可以测试投递邮件的问题

Telnet 42.159.33.202 25 // IP地址保密。不能外漏

1
2
3
Ehlo mail.ixmsoft.com
Mail from : user20@ixmsoft.com
Rcpt to : user01@ixmsoft.com

image

原因是由于 blocked了 ,所以无法发送

image

image

image

image

通过以上cmd命令测试,我们也可以使用相关的exchange命令来帮助解决(该方法是最有效的。)

我们在本地的EMS下运行查看exchange相关的证书命令

1
get-exchangecertficate

我们可以查看到mail.ixmsoft.com这个域名对于的指纹信息

image

1
2
3
get-exchangecertficate 59……..(证书指纹信息) | fl
查看到Issuer为:CN=CA 沃通免费ssl证书 G2,O=WoSign CA Limited, C=CN
Subject 为: CN=mail.ixmsoft.com

image

然后我们查看发送连接器(本地到Online发送连接器)

1
get-sendconnector

image

1
get-sendconnector "outbound to office365" | fl

我们需要查看local到online的邮递发送连接器状态

image

我们查看到本地到Online的发送连接器的TLScertficatename还是我内部CA服务器的证书信息;由于我们使用第三方的证书已经覆盖了,所以以下信息是错误的。正确的应该是第三方沃通免费ssl证书的相关信息

image

所以,我们需要手动的强制更改。

1
2
3
修改sendconnector的证书名称
<I>Issuer为:CN=CA 沃通免费ssl证书 G2,O=WoSign CA Limited, C=CN
<S>Subject 为: CN=mail.ixmsoft.com

image

我们手动***信息:

1
Set-sendconnector out* -tlscertificatename “<I> CN=CA 沃通免费ssl证书 G2,O=WoSign CA Limited, C=CN<S> CN=mail.ixmsoft.com”

image

更新后的结果

我们再次测试本地exchange到Online的邮件投递

我们首先查看邮件队列

image

image

最后我们测试发送邮件

image

接着我们在user02上查看本地用户user01发送的测试邮件

image

接下来我们再次使用tls测试online到本地的发送连接器信息;

image

wKioL1Z3k3HCFLZhAAIM6Se4F5w403.jpg

同样我们使用online邮箱用户user02给本地的user01发送测试邮件

image

本地的user01也收到了online上user02上的邮件


image




本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1718650,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
文章
问答
文章排行榜
最热
最新
相关电子书
更多
为什么 Apache RocektMQ 是业务消息的首选
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载