X.400 连接问题疑难解答

 

上一次修改主题: 2005-05-24

X.400 连接器是具有许多配置选项的对象。排字错误以及因系统管理员之间的误解造成的基本配置错误是与 X.400 有关的传输问题最常见的原因。传输问题还可能是由于 X.400 通信伙伴过载(例如,与 X.400 1984 系统通信时,X.400 1988 系统未向后扩展到 1984 的 X.400 功能)或 X.400 通信伙伴造成的公开协议冲突所致。

X.400 连接器的邮件传输问题的常见原因如下:

  • 连接尝试超时   如果 Exchange MTA 无法与远程 MTA 建立连接,则应验证远程 MTA 的地址信息是否正确。通过 X.25 进行通信时,应确保 EICON 卡可以成功地建立连接。通过 TCP/IP 进行通信时,应确保可以进行名称解析并使用 Ping 工具来探测远程主机的 IP 地址。如果 Ping 远程 MTA 的 IP 地址失败,则可能需要解决常见的网络问题。如果 Ping 远程 MTA 的 IP 地址成功,则验证传出和传入开放系统互连 (OSI) 地址信息(即 T 选择器、S 选择器和 P 选择器)是否正确。在 MTA 传输堆栈中或单击“OSI 地址”按钮时出现的 X.400 连接器“堆栈”选项卡上指定 OSI 地址信息。可以使用十六进制格式或文本输入 T 选择器 (PSAP)、S 选择器 (SSAP) 和 P 选择器 (PSAP)。验证是否只指定了必需的字段并且是否使用正确的格式指定了字段。如果多个 X.400 连接器使用同一传输堆栈连接到外部 X.400 MTA,则验证每个连接器是否为 T 选择器指定了唯一的值。T 选择器指定 X.400 协议的传输层的入口点,并且同样应是唯一的。
    note注意:
    不支持 1984 模式下的 P 选择器。不支持 1988 X.410 模式下的 S 选择器。T 选择器在整个 X.400 MTA 中的使用最统一。
  • 连接尝试被拒绝   当安全信息不匹配时,X.400 系统拒绝与其他 MTA 进行通信。安全信息由远程 MTA 的名称和密码以及本地 MTA 的名称和密码组成。远程密码字段和本地密码字段区分大小写,必须与尝试连接的 MTA 提交的信息完全匹配。在连接器的“常规”选项卡上指定远程 MTA 的名称和密码。Exchange MTA 使用 Exchange 服务器的名称作为本地 MTA 名称。如果必须更改此名称,或需要为本地 MTA 指定密码,则应切换到连接器的“首选参数”选项卡并单击“修改”。
  • 连接中断   邮件传输期间的突然断开意味着本地 MTA 与远程 MTA 上的 X.400 协议参数不匹配。验证连接器的“高级”选项卡上的设置。确保根据远程 MTA 的能力选择正确的一致性年份(1984 或 1988),如果远程 MTA 不是 Exchange 系统,则清除“允许 Exchange 内容”复选框。“允许 Exchange 内容”选项使 Exchange MTA 能够通过 X.400 连接器发送非 X.400 正文部分,非 Exchange 系统可能会将其标识为协议冲突。
    note注意:
    必须将 X.400 连接器配置为与远程 MTA 的一致性年份匹配,允许 Exchange 内容的选项在连接到非 Exchange MTA 时应始终处于禁用状态。此外,典型的非 Exchange MTA 要求禁用“双向交替”选项。发送到 1984 X.410 或 1988 X.400 MTA 时,可以使用“允许 BP-15 (以及 BP-14)”。
    在单击“其他值”按钮时,还应检查“首选参数”选项卡上连接器的可靠传输服务 (RTS) 值。确保“检查点大小”、“恢复超时”和“窗口大小”设置与远程 MTA 的配置匹配。例如,窗口大小确定本地 MTA 可以不经确认发送的数据包数。如果窗口大小对于远程 MTA 来说太大,则将导致远程 MTA 在远程 MTA 的窗口发生溢出时立即断开连接。如果窗口大小太小,在本地 MTA 已发送所有允许的数据包并且正在等待远程 MTA 的确认时,连接将超时(永远不会收到确认,因为远程 MTA 期望收到更多的数据包)。与远程 MTA 的系统管理员共同确定要使用的 RTS 值。
  • 传输协议数据单元 (TPDU) 大小太大   某些 X.400 系统(例如 Lotus Soft-Switch EMX)要求支持 2 KB 的 TPDU 大小。要将 Exchange MTA 配置为支持此 TPDU 大小,请启动 Windows 注册表编辑器并将名为 Supports 2K TPDU 的 REG_DWORD 注册表项的值由 0 更改为 1。在以下位置可以找到此注册表项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeMTA\Parameters
    
    Caution警告:
    如果注册表编辑器使用不当,可能会造成严重问题,可能需要重新安装操作系统。Microsoft 无法保证因注册表编辑器使用不当而导致的问题可以得到解决。请自行承担使用注册表编辑器的风险。
  • 在一个方向上无法传输的邮件   在一个方向上无法传输的邮件也许在另一个方向上可以传输。这可能是由于 RTS 值不匹配或名称解析问题所致。例如,如果为本地 MTA 和远程 MTA 配置了完全限定域名 (FQDN),而不是 IP 地址或 NetBIOS 名称,则本地 MTA 可能无法将传入连接的 IP 地址解析为完全限定域名 (FQDN),以标识负责该连接的 X.400 连接器。本地 MTA 尝试将 IP 地址解析为主机名。它首先搜索本地 HOSTS 文件。如果未成功,MTA 则将在域名系统 (DNS) 中查询该主机名。如果此反向查找也失败,则将终止连接尝试。
    note注意:
    要使反向查找成功,DNS 服务器必须在远程 MTA 的 DNS 中存在一条指针 (PTR) 记录,将其 IP 地址映射到其 FQDN。

测试 X.400 连接的最佳方式是通过 Outlook 将包含大附件的电子邮件发送给 X.400 用户。建议使用大附件,例如,因为小测试邮件可能无法暴露不匹配的 RTS 值。为了确定邮件地址,请为电子邮件创建一个一次性 X.400 地址。

要在电子邮件中创建一个一次性地址,请执行下列步骤:

  1. 打开 Outlook,启动一个新的电子邮件,然后单击“收件人”。
  2. 在“选择姓名”对话框中,单击“高级”,然后单击“新建”。
  3. 在“新建条目”对话框的“将该地址”下,选择“只放在此邮件中”,再从条目类型列表中选择“X.400 地址”,然后单击“确定”(图 1)。
    a2f027ab-65ff-40d5-86a4-1dab09aaec66
  4. 在“新 X.400 地址属性”对话框中指定收件人信息。必须填写“显示名称”、“PRMD”、“ADMD”和“国家/地区”字段以及一个附加字段(例如“姓”),以构成正确的 X.400 地址。如果目标用户的 X.400 地址包含其他字段,则也必须指定相应字段。
  5. 单击“收件人”。
    note注意:
    此外,也可以直接在“收件人”行中键入一次性 X.400 地址。以下是示例(必须键入整个字符串,包括括号): [x400:c=us;a=exchange;p=contoso;s=lastname]

记住,要确保邮件可以双向路由。要求 X.400 用户回复邮件,以验证邮件也可以在相反方向上传输。

通过 X.400 连接器传输邮件所涉及的 Exchange 邮件队列与 LotusNotes 连接器或 NovellGroupWise 连接器的邮件队列相同,只是 Exchange MTA 将传出邮件放入文件系统上的内部 MTA 邮件队列,而不是 Exchange 存储中的 MTS-OUT 文件夹。图 2 显示邮件如何从 Exchange Server 2003 传输到 X.400 远程 MTA。

ca431bdb-1055-45a5-a55c-ff1096e1d8c1

按照以下顺序检查 Exchange 2003 到 X.400 的邮件流:

  1. 检查 Outlook 客户端中的发件箱文件夹   将邮件发送给其他用户时,邮箱存储将从客户端接收邮件,然后由存储驱动程序将邮件传递给 SMTP 服务,以便进行路由和传输。如果邮件未传出发件箱,则检查邮箱服务器上是否正在运行 SMTP 服务。
  2. 检查 SMTP 传输引擎的内部邮件队列   Exchange 系统管理器中的“队列”容器包含多个 SMTP 邮件队列。这些队列在路由过程的各个阶段包含邮件。有关 SMTP 邮件队列的详细信息,请参阅本主题后面的“SMTP 连接问题疑难解答”一节。
    对于 X.400 收件人,路由过程如下所述:
    1. 邮件传递到 SMTP 服务中的“高级队列”组件,在该组件中放入预分类队列。
    2. 分类程序解析收件人地址和发件人地址,并展开任何已启用邮件的组。对于 X.400 收件人,邮件将放入分类后队列。分类程序还会在与其他非 Exchange 邮件系统进行互操作并从其迁移到 Exchange Server 2003 中讨论。
    3. 由于邮件是发送给远程收件人,所以,高级队列引擎会将邮件移动到预路由队列。
    4. 路由引擎从预路由队列中选取邮件并确定用于传递邮件的路由。它将邮件分配给处理收件人地址类型(即 X.400)的 X.400 连接器实例。因为 Exchange MTA 负责 X.400 连接器,所以,路由引擎将邮件传递到 Exchange MTA。
  3. 检查 Exchange MTA 的“等待路由的邮件”队列   此队列包含正在等待由 Exchange MTA 路由的邮件。如果邮件长时间保留在此队列中,则可能表明 Exchange MTA 出现问题。
  4. 检查 X.400 连接器的邮件队列   路由引擎将邮件传递到 Exchange MTA 时,MTA 将邮件放入内部邮件队列,MTA 将该队列与文件系统上的 Exchange 存储 (\Program Files\Exchsrvr\Mtadata) 分别维护。只有 Microsoft Exchange MTA Stacks 服务正在运行时,才能在 Exchange 系统管理器中查看 X.400 连接器的队列。“队列”容器中的队列名称对应于在初始创建连接器时(在“常规”选项卡上的“名称”文本框中)为连接器指定的名称。
    note注意:
    如果怀疑受损邮件正在阻止 X.400 连接器邮件队列,则使用 MTA 检查工具检查 MTA 邮件队列的一致性。也可以使用 MTA 检查工具修复 MTA 邮件队列(如果需要)。要下载此工具,请访问 http://go.microsoft.com/fwlink/?LinkId=25924
  5. 检查应用程序事件日志和其他协议日志以检查 Exchange MTA 与远程 MTA 之间的通信   Exchange 2003 不会对 X.400 连接器运行单独的连接器服务。Exchange MTA 将使用连接器配置对象来确定要用于邮件传输的协议参数。与远程 MTA 通信的就是 Exchange MTA 本身。
    可以使用四个不同的日志来检查 X.400 通信:
    1. 应用程序事件日志   默认情况下,Exchange MTA 只在应用程序事件日志中记录最少量的信息。在显示桥头服务器的属性并切换到“诊断日志记录”选项卡时,可以在 Exchange 系统管理器中提高 Exchange MTA 的事件日志记录级别。在“服务”下选择“MSExchangeMTA”,并在“类别”下选择属于 MTA 的各个类别(例如“X.400 服务”)。将日志记录级别设置为“最高”,以获取最详细的信息。请记住,没有针对 X.400 连接器的服务。所有日记记录均与 Exchange MTA 活动直接相关。
      note注意:
      将诊断日志记录级别设置为“最高”可能会造成大量的事件写入应用程序事件日志。最佳做法是,将应用程序事件日志和系统事件日志的大小设置为 30MB,并根据需要启用覆盖事件的选项。请记住,在完成连接器测试之后,重新应用默认设置“无”。
    2. EV0.log   这是除了应用程序事件日志之外,Exchange MTA 可以写入的一个文本文件。此日志包含事件查看器中显示的信息。此日志采用文本文件格式,所以可以很方便地在字处理程序中查看事件。要启用此日志文件,必须为 Exchange MTA 设置一个注册表参数。将名为 Text Event Log 的 REG_DWORD 参数的值由 0(默认值)更改为 1。必须重新启动 Microsoft Exchange MTA Stacks 服务,以使更改生效。Exchange MTA 在 \Program Files\Exchsrvr\Mtadata 目录中创建 EV0.log 文件。
      Text Event Log 参数位于以下位置:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services \MSExchangeMTA\Parameters
      
      Caution警告:
      如果注册表编辑器使用不当,可能会造成严重问题,可能需要重新安装操作系统。Microsoft 无法保证因注册表编辑器使用不当而导致的问题可以得到解决。请自行承担使用注册表编辑器的风险。
    3. AP0.log   将“接口”和“互操作性”类别的诊断日志记录级别设置为“最高”时,将生成 AP0.log 文件。此日志文件包含有关本地 MTA 和远程 MTA 如何建立连接和发送数据的信息。如果必须检查在 MTA 之间交换的协议数据单元,则此信息非常有用。此文件位于 \Program Files\Exchsrvr\Mtadata 目录。
    4. BF0.log   将“X400 服务”和“APDU”类别的诊断日志记录级别设置为“中等”或“最高”时,将生成 BF0.log 文件。此日志文件包含 Exchange MTA 已发送和接收的邮件的二进制转储。

如果必须验证从 X.400 系统到 Exchange 2003 的邮件传输,应用程序事件日志和其他日志文件也非常重要。图 3 显示从 X.400 到 Exchange 2003 的邮件传输的各个阶段。

cc165cec-2b9a-4f07-8470-d5a5fc99cad0

按照以下顺序检查从 X.400 系统到 Exchange 2003 的邮件流:

  1. 检查 Exchange MTA 的“等待路由的邮件”队列   Exchange MTA 从远程 MTA 收到邮件后,必须与 Active Directory 进行通信,以确定该邮件的目标。因为邮件是发送给 Exchange 用户,所以,Exchange MTA 将邮件放入“SMTP 邮箱存储”队列。要在 Exchange 系统管理器中查看此队列,在“队列”容器中,选择“等待路由的邮件”,然后单击“查找邮件”。
  2. 检查“SMTP 邮箱存储”队列   Exchange 存储驱动程序从此队列中选取邮件,并将其传输到 SMTP 服务。SMTP 传输引擎接收邮件,为邮件分类,然后将其路由到目标收件人。有关通过 SMTP 服务传输邮件的详细信息,请参阅下面的“SMTP 连接问题疑难解答”一节。
  3. 检查应用程序事件日志和其他协议日志以检查 Exchange MTA 与远程 MTA 之间的通信   有关如何检查这些日志的信息在此节前面介绍。
 
显示: