我正在为一家迄今为止一直在运行本地 Exchange 2010 服务器的 SMB 公司迁移到 Office 365 / Exchange Online;我们在这里谈论〜25个邮箱。
但是,有一个通过 SMTP 向 Exchange 发送消息的 LOB 应用程序,它基于经典的 ASP 并使用相当古老的 CDO 库。
我知道 Exchange Online 仅在使用身份验证时接受 SMTP 提交,并且仅使用 TLS 加密;但是,CDO 似乎不支持这一点:它最多可以做的是 SSL,直到前一段时间 Exchange Online 还支持它,但它似乎不再支持了。
互联网上有几个讨论(包括这个站点和 StackOverflow)建议使用 SSL 来完成这项工作;但是,正如我已经说过的,这只是一个选项,直到不久前:现在 Exchange Online 仅支持 TLS 用于 SMTP 提交。
我也完全了解这两种可能的解决方法,即 1) 使用本地 SMTP 中继和 2) 在 Exchange Online 中创建接收连接器以允许来自公司公共 IP 地址的未经身份验证的中继;但是,出于显而易见的原因,我想采取正确的方法,让应用程序使用 SMTP 身份验证发送其消息。
我在这里寻找一个明确的答案:现在是否可以让基于 CDO 的应用程序向 Exchange Online 提交消息?或者,更具体地说,基于 CDO 的应用程序是否可以通过 TLS 连接支持 SMTP 身份验证?
这么说让我觉得很脏,但为什么不保留 EX2010 盒子并使其成为混合部署呢?您可以继续将来自 CDO 库的消息中继到 EX2010 上的 SMTP 接收,然后它们将通过“本地到云”连接器传递到 O365。
然后,您可以向业务部门解释他们的旧 LOB 应用程序导致基础架构成本增加。一旦他们更新了 LOB 应用程序,他们就可以摆脱本地的 Exchange 服务器,从而节省了美元。
我不知道为什么这个问题刚刚被撞到头版,我什至不记得问过它......但它现在肯定已经过时了。
无论如何,我的回答是“不,它无法工作,开发人员必须接受这一点”。