Microsoft Exchange Server Internet 协议详解
白羽 2018-07-02 来源 :网络 阅读 2542 评论 0

摘要:本文将带你了解Microsoft Exchange Server Internet 协议详解,希望本文对大家学Exchange有所帮助。


本文中讲解的 Microsoft Exchange Server Internet 协议

Microsoft® Exchange Server 从第一次发布时起,就支持 Internet 协议。随着产品的发展,Microsoft 在现有协议组中添加了一些新的协议,以及更多的功能。本文档介绍了 Exchange Server Internet 协议,并提供了对这些 Internet 协议进行疑难解答的基本指导方针。

首先要注意的是,Exchange Server 在实现这些 Internet 协议时与 RFC 是 100% 兼容的,这一点很重要。下列表格列出了这些协议,以及 Exchange Server 的哪个版本对其提供支持。

协议

   

SMTP

   

HTTP

   

NNTP

   

LDAP

   

POP3

   

IMAP4

   

Exchange 4.0

   

*

   

Exchange 5.0

   

*

   

*

   

*

   

*

   

*

   

Exchange 5.5

   

*

   

*

   

*

   

*

   

*

   

*

   

这些协议可划分为两类:“服务器端协议”和“客户端协议”。服务器端协议通常是 Exchange Server 用来连接到另一台邮件服务器,并向其传送电子邮件的协议。客户端协议是客户端用来访问 Exchange Server 计算机上的电子邮件的协议。协议的这两个分组在某些情况下是重叠的,这在本文稍后部分的“协议命令和响应概述”一节中的 POP3 和 IMAP4 小节中进行了说明。

服务器端协议

简单邮件传输协议 (SMTP) 是服务器端协议,它允许 Microsoft Exchange Server 通过 Internet 连接到另一个能使用 SMTP 的服务器,以便传送邮件。此协议的细节在 RFC-821 中进行了概述。但重要的是讨论此协议的概念,以便了解它可能会出现的问题。此协议只概述了邮件是如何传送的,而并未包括邮件内容的详细信息。它是一个指导方针,说明了一个 SMTP 主机应发出哪些命令,以及接收命令的主机为使邮件流出现,应如何解释这些命令。

Microsoft 在其 Exchange Server(4.0 版)第一次发布时,就在一个通常称为 Internet Mail Connector (IMC) 的组件中,实现了 SMTP 协议。在 Exchange Server 5.x 中,此组件被重命名为 Internet Mail Service。Internet Mail Service 是一个复杂的组件,它带有一个有不同职责的数组,这些职责包括建立和接收 TCP/IP 连接、将邮件从一种格式转换为另一种,以及附件的编码和解码。本文档介绍了通过 SMTP 协议进行的 Internet Mail Service 邮件传送和邮件接收。

客户端协议

Exchange Server 中包括的客户端协议为用户提供了访问其信息的更多方法。其目的是为用户提供一种方法,使其能在 Internet 上任何地方,使用任何兼容客户机,从任何平台上发送和接收邮件。两个最常见的只读协议是 HTTP 和 POP3。

超文本传输协议 (HTTP) 是 Web 浏览器(如 Microsoft® Internet Explorer)使用的协议,用来查看 Web 页和基于万维网的内容。在 Microsoft® Outlook Web Access (OWA) 组件中,使用了 Exchange Server 的 HTTP 实现。OWA 使任何有 Web 浏览器的用户能够发送和接收电子邮件、为公用文件夹提供内容,以及查看公用文件夹。

邮局协议 3 (POP3) 是在 Exchange Server 5.0 中提供的。它是一个只读协议,允许 POP3 客户端在 Internet 上的任何地方连接到 Exchange Server 计算机,并将邮件下载到本地,以便阅读。该协议是只读协议,因为在 POP3 协议中没有发送电子邮件的定义。POP3 客户端使用 SMTP 协议和 Exchange Server 计算机的 Internet Mail Service 发送邮件。POP3 协议只提供对用户“收件箱”的访问。Exchange Server 将此协议作为信息存储的一项任务实现。

Internet 消息访问协议 4 (IMAP4) 尽管与 POP3 类似,但允许用户访问他们的任何文件夹,而不仅仅是收件箱。出于此原因,它比 POP3 更复杂;但是它仍旧遵从相同的标准,是一个只读协议。和 POP3 一样,IMAP4 使用 SMTP 发送电子邮件。IMAP4 也如信息存储过程那样运行。

轻型目录访问协议 (LDAP) 是一个简单的协议,它允许客户端在 Exchange 目录中查询几乎所有种类的信息。它最常用于访问邮箱属性,以便在写邮件时,发件人能够了解收件人的更多详细情况。LDAP 协议不限制它自己的实现。它可用于读和写邮箱信息,或任何种类的基于目录的信息。Exchange Server 5.0 实现的 LDAP 限于只读。在 5.5 版中,LDAP 客户端能够对 Exchange 目录进行读操作和写操作。LDAP 服务器是 Microsoft Exchange 目录服务的一项功能。

网络新闻传输协议 (NNTP) 通常称为“Internet 新闻协议”,因为它包含从一台计算机向另一台计算机传输新闻条目的规则。此处提及的 NNTP 是作为一个客户端/服务器端协议;但是它也包括基于服务器到服务器的新闻传送。Exchange Internet News Service 与公用信息存储合作,提供 NNTP 访问。

疑难解答技巧

介绍和示例

在从一台主机向另一台主机建立连接后,以上讨论的所有协议都管理一套规则,或一个对话。该连接是到接收主机上的特殊端口的 TCP 连接。TCP 连接是要求在可以传输或接收数据前建立一个会话的连接。当会话建立后,使用命令来来往往地发送数据。对话完成后,将放弃会话。以下是一个协议及其监听的 TCP 端口的列表。

协议

   

端口

   

SMTP

   

25

   

HTTP

   

80

   

NNTP

   

119

   

LDAP

   

389

   

POP3

   

110

   

IMAP4

   

143

   

解决协议疑难问题的第一步是验证您已建立了一个到主机的成功的 TCP 连接。解决这一问题的最简单方法是,使用 telnet 命令,连接到所需端口。不要用“Ping”命令测试主机。 Ping 实用程序不告诉您主机正在监听端口 25。它只是显示,一个低级数据包能够找到通往正确 IP 地址的途径。此外,许多公司阻止 Ping 或 ICMP 数据包,使其甚至不能进入公司的网络。解决所有这些协议问题的最好方法是使用 telnet 命令。要得到对 Telnet 工作方式的感性认识,试着使用 Telnet,连接到您的本地 Exchange Server 计算机端口 25。语法为:

telnet ip_address port

例如:

telnet 172.17.2.1 25

- 或 -

telnet mail.domain.tld 25 (.tld 代表“顶层域”)

以上的两个示例都能连接到端口 25,但第一个是最可靠的。在使用系统的 IP 地址进行系统寻址时,您可避免出现名称解析问题的可能性。以上示例应带出一个 Telnet 窗口,和一条成功连接消息,表明您可以开始向主机发送邮件。这象征着主机在端口 25 上监听,您或许可以向主机发送一个 SMTP 邮件。以上的示例与 Exchange Internet Mail Service 连接以便发送电子邮件时的情况类似。至此,Internet Mail Service 开始向主机发送 SMTP 命令,以便启动邮件传送。

所有这些协议的工作方式是相似的。它们全部包括发送到主机的命令,以及预期的回复。在您断定可与正确端口建立成功连接后,就可以开始检查命令发出时对主机的实际响应。

最佳测试方法是真正地使用 Telnet 命令向主机发出命令。如果您确切地知道您需要发送什么内容,以及如何发送,或者您知道您的客户端/服务器端程序正在试图发送什么内容,那么这种方法是很有效的。问题是您能够看到所给的典型响应,但看不到主机正在发送的内容。

以下是一个发送给 SMTP 主机的典型 Telnet 会话示例。


如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。

00001. HELO 命令发出,而且服务器对其响应,显示它理解并接受该命令。

00002. MAIL FROM 告知主机发件人是谁。服务器再次成功响应。

00003. RCPT TO 告知主机要将此邮件传送给谁。

这些命令将在“协议命令和响应概述”一节中进一步讨论。

以下示例说明了一个测试 POP3 身份验证的 Telnet 会话。


如果您的浏览器不支持内嵌框,单击此处,可在单独的页面中查看。

00001. USER 命令(后面跟着适当的登录验证信息),用于登录到 POP3 邮箱。

00002. PASS 命令发出获得访问权限的密码。

00003. Exchange Server 返回“+OK User successfully logged border=1>


SMTP 命令
预期响应
说明
HELO

00004. 

00005. 250 OK

00006. 开始主机间对话。

00007. MAIL FROM: <user@domain.tld>

00008. 250 OK

00009. 标识邮件的发件人。

00010. RCPT TO: <user@domain.tld>

00011. 250 OK

00012. 标识邮件的收件人。

00013. DATA

00014. 354 Send Data

00015. 标识邮件数据的开始点。

00016. .(一个句号)

00017. 250 OK

00018. 标识邮件数据的结束点。

00019. QUIT

00020. 221 

00021. 终止会话。

00022. 

00023. 

00024. 


POP3

00025. 

00026. 

00027. 

命令

   

预期响应

   

说明

   

USER ntdomain/ntaccount/别名

   

+OK

   

开始身份验证过程。

   

PASS nt_password

   

+OK

   

为 Windows NT 帐户指定密码。

   

LIST

   

+OK

   

列出可供下载的邮件。

   

RETR邮件号

   

邮件正文

   

检索“邮件号”对应的邮件正文。

   

DELE邮件号

   

+OK

   

删除“邮件号”对应的邮件。

   

QUIT

   

+OK

   

终止会话。

   

00028. 

IMAP4

00029. 

向 IMAP4 服务器发出的所有命令必须以命令标识符为前缀。此标识符是客户能够解释的,以便跟踪命令和响应对。

00030. 

例如,当您的 IMAP 客户机发出本地 SELECT 收件箱时,服务器的响应为本地 OK。

00031. 

00032. 

命令

   

预期响应

   

说明

   

LOGIN ntdomain/ntaccount/别名密码

   

OK LOGIN

   

登录到邮箱。

   

SELECT 文件夹

   

文件夹模式和 OK SELECT

   

选择要查看的文件夹。

   

FETCH 邮件号

   

邮件正文和 OK FETCH

   

按“邮件号”检索邮件。

   

STORE 邮件标志\标志

   

OK STORE

   

为邮件作删除或已读/未读标记。

   

EXPUNGE

   

OK

   

删除所有作了标记的邮件。

   

LOGOUT

   

OK

   

终止会话。

   

00033. 

当命令被拒绝时,会得到一个 NO 响应。

00034. 

NNTP

00035. 

NNTP 访问有两种模式:身份验证和匿名。身份验证需要以下列出的命令中的前两个。

00036. 

00037. 

命令

   

预期响应

   

说明

   

AUTHINFO USER ntdomain/ntaccount/用户名

   

381 More Info Needed

   

提供身份验证信息。

   

AUTHINFO PASS密码

   

281 Accepted

   

提供身份验证密码。

   

LIST

   

组列表

   

列出所有可用组。

   

GROUP 组

   

分组规范

   

设置当前组。

   

ARTICLE 文章号

   

文章正文

   

按“文章号” 检索文章。

   

QUIT

   

205

   

终止会话。

   

00038. 

协议记录

00039. 

第二种疑难解答的方法仅适用于 Exchange Server。Exchange Server 为它的多数协议执行协议记录。当所涉及的协议的协议记录开启时,主机间的实际对话被转录为一个文本文件。这是疑难解答的最佳方法之一。它唯一的缺点是,有时,在有大量连接的情况下,难以确定哪个对话适用于您的问题。

00040. 

可为 SMTP、POP3、IMAP4 和 NNTP 启用协议记录。以下是选自 Internet Mail Service 的示例 SMTP 协议日志:

00041. 

3/23/98 10:09:18 AM : A connection to 157.54.190.98 was established.

00042. 

3/23/98 10:09:18 AM : <<< IO: |220 lde32.DOMAIN.TLD Microsoft Exchange Internet Mail Service 5.0.1460.8 ready

00043. 

3/23/98 10:09:18 AM : <<< 220 lde32.DOMAIN.TLD Microsoft Exchange Internet Mail Service 5.0.1460.8 ready

00044. 

3/23/98 10:09:18 AM : >>> EHLO mail.microsoft.com

00045. 

3/23/98 10:09:18 AM : <<< IO: |250-lde32.DOMAIN.TLD supports the following extensions:

00046. 

250-XAUTH

00047. 

250-XEXCH50

00048. 

250-HELP

00049. 

250-VRFY

00050. 

250-SIZE 0

00051. 

250-ETRN

00052. 

250 DSN

00053. 

3/23/98 10:09:18 AM : >>> MAIL FROM:<Someone@MICROSOFT.com> SIZE=1393 RET=FULL

00054. 

3/23/98 10:09:18 AM : <<< IO: |250 OK - mail from <Someone@MICROSOFT.com>; can accommodate 1393 bytes

00055. 

3/23/98 10:09:18 AM : <<< 250 OK - mail from <Someone@MICROSOFT.com>; can accommodate 1393 bytes

00056. 

3/23/98 10:09:18 AM : >>> RCPT TO:<user@domain.tld> NOTIFY=FAILURE,DELAY

00057. 

3/23/98 10:09:18 AM : <<< IO: |250 OK - Recipient <user@domain.tld>

00058. 

3/23/98 10:09:18 AM : <<< 250 OK - Recipient <user@domain.tld>

00059. 

3/23/98 10:09:18 AM : >>> DATA

00060. 

3/23/98 10:09:19 AM : <<< IO: |354 Send data. End with CRLF.CRLF|

00061. 

3/23/98 10:09:19 AM : <<< 354 Send data. End with CRLF.CRLF

00062. 

3/23/98 10:09:19 AM : <<< IO: |250 OK

00063. 

3/23/98 10:09:19 AM : <<< 250 OK

00064. 

3/23/98 10:09:19 AM : >>> QUIT

00065. 

3/23/98 10:09:19 AM : <<< IO: |221 closing connection

00066. 

以上的协议日志显示了连接到另一台 Exchange Server 计算机的 Internet Mail Service。“>>>”和“<<<”显示了数据是从何方向而来。“>>>”暗示发送数据的是本地服务器。

00067. 

启动 SMTP 协议记录的步骤

00068. 

1. 启动 Exchange Server Administrator 程序。

2. 选择 Internet Mail Service。在 File 菜单上选择 Properties。

3. 单击 Diagnostic Logging 选项卡。

4. 选择 SMTP Protocol Log,并将其设置为 Maximum。

5. 关闭 Internet Mail Service 属性页。

6. 停止并重新启动 Internet Mail Service。

在协议记录开启的情况下,Internet Mail Service 在 Exchange Server 计算机上的 Exchsrvr\Imcdata\Log 子目录中创建一个 L000000#.log 文件。一定要记住,根据通过连接器的邮件量,这些 .log 文件会在硬盘上占用大量的空间。协议记录应仅用于解决特殊的问题,而在正常使用连接器时,应将其关闭。

启动 POP3、IMAP4 和 NNTP 协议记录的步骤

1. 在 Exchange Server 计算机上,使用 REGEDT32,运行注册表编辑器。

2. 转到以下子项:

HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Services \MSExchangeIS \ParametersSystem

3. 

4. 将 \POP3_Protocol_Logging_Level 的值更改为 1 到 4 之间的值(1 = 最小,4 = 最大)。

5. 更改 \POP3_Protocol_LogPath 的值,使其指定您想要写日志文件的地方。

6. 关闭 REGEDT32。

7. 停止并重新启动信息存储服务,以便使日志记录生效。

8. IMAP4 和 NNTP 日志记录可在同一个注册表配置单元中找到,要想开启它们,可使用:

\IMAP4_Protocol_Logging

9. 

\NNTP_Protocol_Logging

10. 

在协议记录开启的情况下,信息存储在所涉及的协议的注册表中指定的路径中,创建一个 L000000#.log 文件。默认情况下,在 Exchsrvr\Mdbdata 中创建该文件。与 SMTP 协议记录相同的规则在此也适用:POP3、IMAP4 和 NNTP 协议记录仅应用于解决特殊问题,在正常使用中,应将其关闭,以避免昂贵的管理开销。

何处可以找到其它信息

本文档介绍了解决 Exchange Server Internet 协议问题的基本指导方针。本文档的“协议命令和响应概述”一节中的协议命令和响应表仅包含与选定的协议相关的部分命令列表。要得到完整的命令列表和语法的详细信息,最好的方法始终是查阅 RFC。


RFC 索引

协议

   

RFC

   

SMTP

   

RFC-821, RFC-1869

   

POP3

   

RFC-1939, RFC-1734

   

IMAP4

   

RFC-2060, RFC-2088, RFC-1731

   

NNTP

   

RFC-977

   

LDAP

   

RFC-1777

   



 本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标系统运维之Exchange频道!


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程