当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

作者:精品下载站 日期:2024-12-14 08:46:39 浏览:14 分类:玩电脑

使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4


在本文中,我们将回顾邮件流方案,其中外部主机(例如 Web 应用程序或启用邮件的设备)使用标准 SMTP 会话来寻址 Exchange Online 服务器。

向 Exchange Online 发送邮件 - 文章系列

  • 向 Exchange Online 发送邮件 |第 1#4 部分
  • 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4
  • Office 365 环境中的 SMTP 中继 |第 3 部分#4
  • Office 365 环境中的 SMTP 中继 |故障排除场景 |第 4 部分#4

过去,解决Exchange Online服务器的主要方式是使用TLS协议+提供用户凭据。
这个要求对于需要使用Exchange Online服务作为邮件服务器的“外部主机”来说是一个很大的困难,因为很多时候,外部主机无法支持 TLS 协议或提供特定的用户凭据。

好消息是,我们可以选择一条“简单路径”,使外部主机能够寻址 Exchange Online 服务器并请求邮件服务,而无需进行复杂的配置。

我们应该满足的唯一条件是通过向 Exchange Online 提供该主机的公共 IP,使 Exchange Online 能够识别“外部主机”。

“识别机制”是通过创建入站邮件连接器来实现的,该连接器将包括寻址 Exchange Online 服务器的外部主机所使用的 IP 地址。

在下图中,我们可以看到外部启用邮件的主机(Web 应用程序、打印机、传真设备等)和 Exchange Online 服务器之间邮件通道的逻辑表示。

请注意,外部主机可以寻址 Exchange Online 服务器,要求其向 Office 365 收件人或外部收件人(非 Office 365 收件人)传递电子邮件。

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

重要的是我们能够区分逻辑通道与“物理通道”。实际上,启用邮件的主机并不直接寻址 Exchange Online,而是通过防火墙等网关进行寻址。

换句话说,事实上,当邮件启用 Exchange Online 服务器的主机地址时,外部主机由防火墙使用的公共 IP 地址表示。

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

如前所述,使 Exchange Online 能够识别外部邮件启用主机,以便 Exchange Online 可以“信任”它们并为它们提供所需的邮件服务。 Exchange Online 服务器需要提前配置有关外部启用邮件的主机将使用的特定 IP 地址的信息。

在下图中,我们可以看到一个场景示例,其中防火墙“代表”几个启用邮件的主机。

Exchange Online 不需要“了解”该主机的内部 IP 地址或每个启用邮件的主机的特定 IP 地址。

相反,Exchange Online 服务器仅了解代表特定网络的防火墙服务器使用的公共 IP 地址。

Exchange Online 和 EOP(Exchange Online 保护)。

在本文中,我们将 Office 365 邮件服务器“实体”视为 Exchange Online 服务器。如果我们想更准确的话,我们所说的“真实实体”是 EOP(Exchange Online Protection)服务器。

EOP 服务器是代表 Office 365 邮件基础结构的邮件网关和邮件安全网关。

在整篇文章中,我并行使用这两个术语。

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

邮件流的配置,其中启用邮件的主机将根据以下步骤使用 Exchange Online 作为其邮件服务器:

  1. 获取代表我们域名的 Exchange Online 服务器的主机名。
  2. 获取代表已启用邮件的主机的公共 IP 地址
  3. 创建一个新的入站 Exchange Online 邮件连接器,将该主机的 IP 地址标识为“可信”。 ”
  4. 可选 - 如果我们遇到电子邮件无法发送到目标收件人或 Exchange Online 服务器不接受的问题,我们可以使用简单的 SMTP 测试来验证我们是否可以与 Exchange 通信使用SMTP协议的在线服务器。

在下一节中,我们将详细回顾每个步骤。

步骤 1#4 - 获取代表我们在 Office 365 中的域的 Exchange Online 服务器的主机名

我们可以使用两种方法来获取有关“为我们的域发送电子邮件”的 Exchange Online 的 FQDN(完全限定域名)的信息。 ”

选项 1:Office 365 管理门户。

  • 以全局管理员身份登录 Office 365 门户
  • 在左侧边栏 - 选择
  • 选择 - 管理 DNS

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

Exchange Online 部分下,查找有关 MX 记录主机名(POINTS TO ADDRESS)的信息。在我们的场景中,“代表”我们组织的 Exchange Online 服务器是:o365info-com.mail.protection.outlook.com

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

选项 2:使用 nslookup 工具。

获取有关“代表”我们组织的 Exchange Online 邮件服务器的“主机名”信息的另一种选择是:使用 nslookup 工具。

  • 打开命令提示符
  • 输入命令:Nslookup
  • 输入命令:set type=mx
  • 键入您要显示其 MX 记录的域的名称。在我们的场景中:com

在下面的屏幕截图中,我们可以看到 MX 查询的结果。

在我们的示例中,代表我们域的 Exchange Online 服务器的主机名是:o365info-com.mail.protection.outlook.com

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

步骤 2#4 - 获取代表启用邮件的主机的公共 IP 地址

为了能够配置所需的 Exchange Online 传入邮件连接器,我们需要提前准备启用邮件的主机使用的公共 IP 地址。

如果启用外部邮件的主机是位于您网络上的主机,您可以咨询负责防火墙基础设施的技术联系人,了解代表该组织的 IP 地址是什么。

一个简单的选项可以让您发现代表特定桌面或网络的公共 IP 地址,即使用浏览器并键入查询 - 我的 IP 是什么

在下面的屏幕截图中,我们可以看到我们得到的答案的示例。

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

其进口网强调,这并不是一个“确定的答案”,因为在很多场景下,网络是由多个公共IP地址代表的。

如果启用邮件的主机是由外部 ISP 托管的 Web 应用程序,请咨询您的 ISP 并向他询问他使用的公共 IP 或公共 IP 范围。

步骤 3#4 - 创建一个新的入站 Exchange Online 邮件连接器,将该主机的 IP 地址标识为“可信”

在下一节中,我们将提供有关如何创建所需的 Exchange Online 传入邮件连接器的分步说明。

打个比方,我们可以将 Exchange Online 传入邮件连接器视为监听启用邮件的主机的通信请求的“耳朵”。

  • 登录 Exchange Online 管理中心
  • 在左侧菜单栏上选择 - 邮件流
  • 在顶部菜单栏上选择 - 连接器

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

  • 发件人:选项框中,选择选项:您的组织电子邮件服务器
  • 收件人:选项框中,选择选项:Office 365

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

*姓名:框中键入您选择的姓名。

描述:框是可选的,但我建议添加详细描述,以帮助我们将来(或其他 IT 成员)轻松理解 Exchange Online 的目的邮件连接器。

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

在下面的屏幕截图中,我们可以看到我们可以使用以下选项之一“验证”启用了外部邮件的主机。

  1. 服务器证书
  2. IP地址

在我们的场景中,我们需要使用 IP 地址选项来识别外部启用邮件的主机。

选择选项 - 通过验证发送服务器的 IP 地址是否与属于您组织的这些 IP 地址之一匹配

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

单击加号图标添加 IP 地址。

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

在下面的屏幕截图中,我们可以看到“代表”我们的外部启用邮件的主机的 IP 地址。

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

在下面的屏幕截图中,我们可以看到结果,即 Exchange Online 服务器“允许”的 IP 地址。

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

在下面的屏幕截图中,我们可以看到有关新的 Exchange Online 传入邮件连接器的摘要信息。

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

在下面的截图中,我们可以看到最终的结果。创建了新的传入邮件连接器。

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

步骤 4#4 - 验证与 Exchange Online 的通信

从技术上讲,创建使我们的主机能够寻址 Exchange Online 服务器所需的配置的任务已经完成。

在许多情况下,任务将无法完成,因为可能存在一些障碍,例如:

  • 不包含“出站规则”的防火墙将允许启用邮件的设备使用端口 25 与 Exchange Online 服务器进行通信
  • Exchange Online 主机名的拼写错误

为了能够验证我们是否可以在源(启用邮件的主机)和目标(Exchange Online 服务器)之间实现通信通道,我们可以通过尝试从我们的网络(主机的网络)进行 telnet 来模拟通信通道。启用邮件的主机)连接到 Exchange Online 服务器并验证我们是否可以创建所需的通信通道。

在下面的部分中,我们将演示如何使用 telnet 客户端和友好的 GUI telnet 客户端与 Exchange Online 服务器进行通信。

使用 Telnet 验证与 Exchange Online 的通信

如果您想使用“标准 SMTP 会话”检查或模拟到 EOP 服务器的通信通道,您可以尝试使用 Telnet 会话通过 EOP 发送电子邮件。

在下面的部分中,我们将演示如何使用 Telnet 客户端来验证与 EOP 的通信通道。

注:Windows 操作系统默认未安装 Telnet 客户端,您需要安装 Telnet 客户端。

  • Windows 2008 - 使用服务器管理器 > 添加功能选项,然后添加 Telnet 客户端。
  • Window 7,8 - 控制面板 > 程序和功能 > 打开或关闭 Windows 功能,然后添加 Telnet 客户端。
  • 另一种选择是从命令提示符运行以下命令:pkgmgr /iu: ”TelnetClient ”

在我们的示例中,代表域名的 EOP 的主机名:o365info.com 为:o365info-com.mail.protection.outlook .com

打开新的命令提示符并使用以下语法键入 Telnet 命令:

Telnet

在我们的示例中: Telnet o365info-com.mail.protection.outlook.com 25

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

在下面的截图中,我们可以看到结果,来自EOP服务器的答案出现在屏幕上:

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

220 AM1FFO11FD029.mail.protection.outlook.com Microsoft ESMTP MAIL 服务已于 2015 年 5 月 3 日星期日 08:26:10 +0000 准备就绪

在这个阶段,我们可以知道

  1. 我们知道代表我们域的 EOP 服务器的“正确主机名”。
  2. EOP 服务器名称已成功解析为 IP 地址。
  3. 我们可以创建一个 SMTP 会话(防火墙使我们能够使用 SMTP 等)。

在我们的场景中,我们将向名为:[email protected]
的收件人发送一封电子邮件消息
为了简化测试过程,我们将使用电子邮件John 的地址也作为“源电子邮件地址”。
简单来说:我们将模拟 John 通过寻址 EOP 服务器向自己发送电子邮件的过程。

1.启动 SMTP 会话

我们用于启动与 EOP 服务器的 SMTP 会话的第一个命令是:Helo

结果是从 EOP 服务器发送的答案:

250 AM1FFO11FD029.mail.protection.outlook.com 你好 [212.25.80.236]

2.定义来源收件人

在我们的场景中,源收件人是:[email protected]

我们用于配置源接收者的 Telnet 命令是:

mail.from:[email protected]

EOP服务器回复是:

250 2.1.0 发件人正常

3.定义目标收件人

在我们的场景中,目标收件人也是:[email protected]

我们用于配置目标收件人的 Telnet 命令是:

rcpt至:[email protected]

EOP服务器回复是:

250 2.1.5 收件人正常

4.创建电子邮件内容

为了能够“告诉”目标邮件服务器我们要输入电子邮件消息内容,我们使用命令:data

EOP服务器回复是:

354 开始邮件输入;以 . 结尾

5.结束 SMTP 会话

为了能够“告诉”EOP 服务器我们要结束会话并发送电子邮件,我们使用周期章程:

在我们的示例中,我们看到 EOP 服务器的响应。消息“排队等待投递的邮件”通常是一个好兆头。
其含义是目标邮件服务器同意接受我们的电子邮件,并且电子邮件已放置在邮件服务器队列中。

250 2.6.0 f9b0d90a-b4b6-4d72-9a7d-0a5c92b71960@AM1FFO11FD029.protection.gbl
[InternalId=13370233193878,主机名=HE1PR05MB1146.eurprd05.prod.outlook.com] 排队等待传送的邮件

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

验证与 Exchange Online 的 SMTP 通信通道

我们可以使用的另一种方法是:验证与 Exchange Online 的 SMTP 通信通道以及在通信失败情况下获取更详细的信息,这是一个非常好用且有用的工具,名为:SMTP 测试工具

注意 - SMTP 测试工具不包含安装文件,而只是一个简单的 EXE 文件,名为:telnet25.exe
您只需双击该 EXE 文件即可。

您只需双击 EXE 文件即可。

在以下部分中,我们将演示如何使用 SMTP 测试工具创建与 Exchange Online 服务器的 SMTP 会话。

场景描述:在我们的示例中,我们将寻址代表 o365info.com 域名的 Exchange Online 服务器,并且我们将从以下位置发送电子邮件:[email protected] 给他自己。

  1. 接收连接器 IP - 在我们的示例中,我们将使用 Exchange Online 服务器主机名:o365info-com.mail.protection.outlook.com
  2. TCP 端口 - 输入 25 作为端口号
  3. 邮件形式:“源收件人”的电子邮件地址(在我们的场景中 [email protected]
  4. 收件人:“目标收件人”的电子邮件地址(在我们的场景中 [email protected]
  5. 主题:任何您想要的文字

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

为了能够发送电子邮件,我们需要转到“Telnet”选项卡

  • 单击发送按钮。

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

在下面的屏幕截图中,我们可以看到 SMTP 会话的日志。

我们可以看到有关源和目标收件人的信息。

我们可以假设邮件投递成功完成,因为在日志文件中我们可以看到以下信息:“排队等待投递的邮件。 ”

[玩转系统] 使用标准 SMTP 会话将邮件发送到 Exchange Online |第 2 部分#4

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯