Microsoft Office Outlook是微软办公软件套装的组件之一,它对Windows自带的Outlook express的功能进行了扩充。Outlook的功能很多,可以用它来收发电子邮件、管理联系人信息、记日记、安排日程、分配任务。最新版为Outlook 2021。 在大多数的企业应用场景中,都会遇到第三方平台或应用程序使用 Exchange 的 SMTP 服务发送邮件的情况,在我个人所遇到的客户项目中,多数都是由 ERP 或 CRM 等平台去调用 Exchange SMTP 进行邮件投递。该需求 Exchange Server 2016 可以很好地满足,但如何选择和如何配置 Exchange Server 2016 SMTP 中继则需要按客户端应用的需求场景。 Exchange Server 2016 通常会遇到两种类型的 SMTP 中继场景:
我们先来看看两种不同的场景区别,再来具体分析实际应用场景中需要考虑的一些细节。 Exchange Server 2016内部SMTP中继当 Exchange Server 2016 首次部署完成之后,将会自动预配置一个允许接收匿名发件人的接收器用于接收来自 Internet 到内部收件的人电邮。该自动创建的默认接收连接器不仅允许接收 Internet 的入站电子邮件,也同样适用的 SMTP 内部中继场景。 该接收连接器的默认名称为”服务器名\Default Frontend 服务器名“,我们可以在 EMS 中使用如下命令查看到: Get-ReceiveConnector 同时,我们可以使用 Telnet 进行 SMTP 连接来测试接收连接器: telnet mail1 25 具体的常用 SMTP 命令建议大家 Google 自学。 Exchange Server 2016外部SMTP中继接着上面的演示示例,我们来看看使用 Telnet 从一个有效的内部地址发邮件给外部联系人会发生什么: 从上图中大家已经看到,此时会返回一个“550 5.7.54, Unable to relay recipient in non-accepted domain” SMTP 错误,这表示接收连接器不允许匿名将未经验证的发件人传递给外部域名,这样的默认设置可以防止 Exchange Server 2016 被不怀好意的人作为开放中继利用。 如果你的应用场景需要使用设备或第三方应用给外部人员发送邮件,有如下两种方式可以实现:
下面我们就以上两种方式的配置分别进行一下介绍。 配置Exchange Server 2016 SMTP中继身份验证第一种方式便是配置使用 SMTP 连接身份验证。Exchange Server 2016 用于客户端的接收链接器默认命名为”服务器名\Client Frontend 服务器名” 要让 Exchange Server 2016 SMTP 中继身份认证能够正常工作,要求至少为正确配置了 Exchange Server 2016 SSL 证书,并为使用 SMTP 的设备或第三方应用配置了正确的 DNS 别名。如果前提条件确认无误,则只需为接收连接器配置好 TLSCertificateName 即可: 1先使用 Get-ExchangeCertificate 确认要使用的 SSL 证书指纹。 Get-ExchangeCertificate 2由于 TLSCertificateName 字符串的语法由证书的两个不同属性组成,因此用于下列命令应用到配接收连接器: $cert = Get-ExchangeCertificate -Thumbprint 31CDD8E30237AA41ABBD2D15D10B552DBED68436$tlscertificatename = "$($cert.Issuer)$($cert.Subject)"Set-ReceiveConnector "Client Frontend MAIL1" -Fqdn maiFl.office26.com -TlsCertificateName $tlscertificatename 3为了测试 Client Frontend 连接器,我们可以使用 PowerShell 的 Send-MailMessage cmdlet 来替代 Telnet 进行测试: $credential = Get-CredentialSend-MailMessage -SmtpServer mail.office26.com -Credential $credential -From 'administrator@office26.com' -To 'xxxx@test.com' -Subject 'Test email' -Port 587 -UseSsl 配置Exchange Server 2016匿名SMTP中继如果将?SMTP 外部中继使用身份验证的方式在你的场景不适用,管理员可以考虑在 Exchange Server 2016 中创建发送邮件设备和第三方应用 IP 或 IP 范围的匿名 SMTP 中继接收接收器。创建步骤如下: 1打开Exchange 管理中心 — 邮件流 — 接收连接器 2点击 + 号按向导创建一个新的接收连接器,名称自己写,角色选择前端传输,类型选择自定义。 3删除默认远程网络设置的 IP 范围(极重要),再添加上允许匿名的设备或第三方应用的 IP 地址或范围。 4导向中配置完成后,打开 Exchange Management Shell 执行如下两条命令更改接收连接器权限: Set-ReceiveConnector "ANONYMOUS RELAY MAIL1" -PermissionGroups AnonymousUsersGet-ReceiveConnector "ANONYMOUS RELAY MAIL1" | Add-ADPermission -User 'NT AUTHORITY\Anonymous Logon' -ExtendedRights MS-Exch-SMTP-Accept-Any-Recipient
配置完成之后大家便可以使用 Telnet 测试被允许的 IP 地址是否已被允许从任何(有效内部)电子邮件地址发送邮件到外部地址了。 微软还将Hotmail在线电子邮件服务更名为Outlook.com。 |
温馨提示:喜欢本站的话,请收藏一下本站!