MailABC是科普电子邮件知识的个人Blog,接受交换友链。您可以关注公众号mailabc留言,或邮件联系feedback@mailabc.cn 。

邮件系统建设篇:Coremail与Exchange并行方案介绍

邮箱建设 小胡子大魔王 4个月前 (07-31) 206次浏览 0个评论

1. 方案背景

在数字化转型的浪潮中,电子邮件系统作为企业内外沟通的重要桥梁,其升级与改造成为了许多企业关注的焦点。Exchange和Coremail,作为电子邮件行业的两大代表品牌,在近年来的邮件系统信创改造项目中频繁相遇。在邮件系统信创改造的过程中,我们经常会遇到一些特殊场景,需要两套系统并行运行以确保业务的连续性和稳定性。这些特殊场景大致如下。

1.1 企业用户规模庞大,无法一次性替换

当企业用户规模达到几万甚至几十万时,一次性替换整个邮件系统是一项庞大而复杂的工程。为了避免因系统切换导致的服务中断和数据丢失,一些企业选择采用逐步替换的策略,即先在部分用户或业务部门中试点新的邮件系统(如Coremail),待稳定运行后再逐步推广至整个企业。在这个过程中,Exchange和Coremail两套系统需要并行运行,确保新旧系统之间的顺畅过渡。

1.2 基于特殊情况,部分用户暂时不做切换

在某些特殊情况下,如海外分支机构使用M365等特定邮件服务的用户,由于网络、安全或合规性等方面的原因,暂时无法进行邮件系统的切换。为了确保这些用户能够继续正常使用邮件服务,企业需要保持原有邮件系统(如Exchange)的运行,并与新邮件系统(如Coremail)进行并行维护。

1.3 基于企业实际需要,两套系统均需要保留

在一些企业中,由于业务场景的多样性和复杂性,两套邮件系统均有其独特的价值和应用场景。例如,Exchange可能与Outlook具有更高的兼容性,而Coremail则可能在其他业务场景中表现出更好的安全性和易用性。为了满足企业的实际需求,这些企业会选择同时保留两套邮件系统,并根据业务场景的不同进行灵活切换和使用。

2. 何谓双系统并行运行?

本文讨论的双系统并行需要实现如下的效果:

  • 两套系统使用同一个域名后缀,例如两套系统的邮箱后缀都是@mailabc.cn。
  • 两套系统处于同时运行状态。
  • 两套系统需要具备标识用户所在系统的能力,并且能支持两套系统之间用户互相发信。

3. 双系统并行邮件流介绍

本节按照最常见的系统架构举例说明,架构描述大致如下:

  • 域名MX记录指向本地邮件反垃圾网关;邮件外发均由反垃圾网关负责处理。
  • 外来邮件先由Coremail系统负责统一处理(当然也可以由Exchange系统负责统一处理,这取决于实际的需要)。
  • 考虑Exchange混合架构,即存在部分用户运行在M365或Exchange Online上,这也是实际案例中经常遇到的场景。

3.1 接收外部邮件流

并行运行接收邮件流
接收外部邮件处理过程如下:

  1. 假设外站用户ouser1@external.com给本站用户cmuser@mailabc.cn发信,同时抄送给用户exuser1@mailabc.cn、exuser2@mailabc.cn,其中cmuser用户分布在Coremail系统,exuser1在Exchange系统,exuser2在M365系统上。由于mailabc.cn域名MX记录指向本地邮件反垃圾网关,所以邮件由反垃圾网关负责处理。
  2. 反垃圾网关将邮件投递给Coremail系统进行处理。
  3. Coremail系统对网关转过来的邮件进行处理,调用内部Meta Data数据库查询收件人相关信息。
  4. Coremail系统确认cmuser是本系统用户,将邮件存储在本地。
  5. Coremail系统确认exuser1、exuser2被标识为Exchange系统用户,随即将发给这两个用户的邮件流指向Exchange系统。
  6. Exchange系统调用Global Catalog查询收件人信息。
  7. Exchange系统确认exuser1是Exchange系统本地用户,将邮件存储在本地。
  8. Exchange系统确认exuser2是M365用户,将发给该用户的邮件流指向M365系统。
注:邮件投递处理过程实际要比上面描述的复杂,如需进一步了解邮件流相关配置,可私信小编或访问https://www.mailabc.cn 获取。

3.2 发送邮件流

并行运行发送邮件流
发送邮件处理过程如下(以Coremail系统发信为例):

  1. Coremail系统cmuser1@mailabc.cn用户给ouser1@external.com用户发信,抄送给exuser1@mailabc.cn、exuser2@mailabc.cn、cmuser2@mailabc.cn。其中ouser1@external.com是外站用户;exuser1是Exchange系统用户;exuser2是M365系统用户;cmuser2是Coremail系统用户。
  2. Coremail系统调用内部Meta Data数据库查询收件人相关信息。
  3. Coremail系统确认cmuser2是本系统用户,完成信件存储。
  4. Coremail系统确认ouser1@external.com是外部用户,邮件流指向邮件反垃圾网关。
  5. 邮件反垃圾网关将邮件投递至external.com目标系统。
  6. Coremail系统确认exuser1、exuser2是Exchange系统用户,将邮件流指向Exchange服务器。
  7. Exchange系统调用Global Catalog查询收件人信息。
  8. Exchange系统确认exuser1是Exchange本地用户,将邮件存储下来。
  9. Exchange系统确认exuser2是M365用户,将邮件流指向M365系统。
注:邮件投递处理过程实际要比上面描述的复杂,如需进一步了解邮件流相关配置,可私信小编或访问https://www.mailabc.cn 获取。

4. 小结

受篇幅所限,上面仅介绍了以Coremail为主系统的情况。如果想了解以Exchange作为主系统的相关邮件流情况可以私信小编或访问博客。需要额外说明的是,双系统并行方案会导致运维工作量增大,并且会损失部分系统功能(如邮件无法跨站撤回、日程无法跨站共享、邮件投递状态更新异常等)。如果企业未达到超大规模(如几万人甚至几十万人),或者使用场景相对简单,不推荐使用双系统并行方案。
参考数据:
1.Exchange混合部署中的传输路由:https://learn.microsoft.com/zh-cn/exchange/transport-routing

未标注来源的文章均为原创作品,版权所有,转载请注明出处。非原创文章均已标注来源,如有侵权请告知。 如您喜欢本站,可以收藏加关注(扫码关注右上角微信公众号mailabc)。
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址