为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Domino 邮件发送不出诊断过程

2017-09-20 20页 doc 424KB 71阅读

用户头像

is_589748

暂无简介

举报
Domino 邮件发送不出诊断过程常见问题和诊断技巧 现在您可以了解 NRPC 和 SMTP 邮件路由是如何在 Lotus Domino 中工作的,接下来我们将讲解如何诊断和解决一些常见的问题。 内部邮件路由无效 如果邮件没有: 从 MAIL.BOX 发送到邮件文件,请转到第 1 步。 发送到另一个服务器的 MAIL.BOX,请转到第 2 步。 1. 收集控制台日志或 Log.nsf 中的投递失败报告(DFR)以及所有相关的错误。如果投递失败显示(否则,转到第 3 步): 限额已满,将邮件文件降至限额范围内,或增加邮件文件的限额。 [Done] Mai...
Domino 邮件发送不出诊断过程
常见问和诊断技巧 现在您可以了解 NRPC 和 SMTP 邮件路由是如何在 Lotus Domino 中工作的,接下来我们将讲解如何诊断和解决一些常见的问题。 内部邮件路由无效 如果邮件没有: 从 MAIL.BOX 发送到邮件文件,请转到第 1 步。 发送到另一个服务器的 MAIL.BOX,请转到第 2 步。 1. 收集控制台日志或 Log.nsf 中的投递失败(DFR)以及所有相关的错误。如果投递失败显示(否则,转到第 3 步): 限额已满,将邮件文件降至限额范围内,或增加邮件文件的限额。 [Done] Mailbox 损坏,关闭服务器并重新创建 MAIL.BOX 。 [Done] “文件不存在”,请检查邮件文件。 [Done] “在地址簿中找不到用户”,可能新注册了用户,其 Person 文档可能尚未复制。如果已经复制了 Person 文档,可能是没有更新索引。对于这种情况,通过加载updall names.nsf – t “ $User ”命令更新 $User 视图的索引。如果老用户发生投递失败,可能是他们的 Person 文档已经损坏,那么需要删除该文档,并从备份复制一份。 [Done] 策略引起的任何拒绝。请检查 Configuration 文档中指定的限制。此外,还要检查是否在服务器的 Configuration 文档中指定了规则。 [Done] 2. 检查 MAIL.BOX 中过期或被阻止的消息,并禁用杀毒软件看看能否解决问题。 [Done] 3. 收集控制台日志或 Log.nsf 中的投递失败报告以及所有相关的错误。如果投递失败显示(否则,转到第 4 步): “没有找到服务器的路由器”,请检查服务器的 Connection 文档。 [Done] MAIL.BOX 损坏,关闭服务器并重新创建目标服务器的 MAIL.BOX 。 [Done] “服务器为未知 TCP/IP 主机”,请检查 DNS 服务器。 ping 服务器名,检查能否解析服务器名。 [Done] 4. 在服务器控制台上发出命令 “ tell router show ”: 如果收到“服务器不响应”的错误,请检查服务器的连接。 如果连接没问题,请检查服务器是否正常运行。 如果服务器正常运行,请检查能否 Telnet 到服务器的 1352 端口。 如果不能 Telnet 到服务器的 1352 端口,该端口可能被防火墙阻止了。 如果输出显示“ Busy ”状态,检查一下能否通过其他方式将数据传输到目标服务器(复制或通过 FTP 传输小文件)。此外,尝试禁用杀毒软件看看能否解决邮件路由问题。 内部邮件路由正常,但邮件不能路由到 Internet 如果您收到: 以对话框方式弹出的错误(在单击客户端上的 Send 按钮时),请转到第 1 步。 投递失败报告,请转到第 2 步。 没有失败,但 Internet 接收者没有收到消息,请转到第 3 步。 1. 开始 Notes Client 问题诊断脚本: 检查客户机能否 ping 通服务器,如果不能,检查操作系统的网络设置,并转到“ b ”步骤。 检查是否能从 Notes 客户端访问服务器;如果不能,请检查服务器是否正在正常运行。(同时也要确保 1352 端口对服务器开放)。然后进入“ c ”步骤。 检查是否能够打开邮件文件;如果不能,请在 Lotus Support Web 站点 搜索错误消息。 [DONE] 2. 搜索 Lotus Support Web 站点 动态地了解 DFR ;如果未能找到或仍然不能解决问题,请向 Technical Support 寻求帮助。 [DONE] 3. 在 Domino 服务器上打开 MAIL.BOX 文件。如果您: 看到消息旁边有一个红色的圆圈图标,请进入步骤 4 。 看到消息旁边有一个红色的“!”,请进入步骤 5 。 看到消息旁边没有任何图标,请进入步骤 6 。 没有看到消息,请进入步骤 7 。 4.处于 DEAD 状态的消息。如果不能向前或向后路由,那么它就处于 DEAD 状态。原始消息将不能到达接收者处。返回给发送者的投递失败消息同样失败。这常常出现在虚假的发送者地址中(SPAM)。 [DONE] 5.处于 HOLD 状态的消息。消息被暂停的理由仅有 3 个: Lotus Domino 被配置为 Hold Undeliverable Mail(在 Configuration Settings 文档的 Router/SMTP, Advanced, Controls 选项卡下,在“ Restrict name lookups to primary directory only ”部分)。 [DONE] 有一个 Server Mail Rule 被配置为“暂停”消息(在 Configuration Settings 文档的 Router/SMTP, Restrictions and Controls, Rules 选项卡上)。 [DONE] 第三方产品,尤其是杀毒软件,是阻止邮件的最常见原因。 [DONE] 6.消息未决。在服务器的控制台上发出一个“ tell router show ”命令。如果它明您的消息的目的地为: 处于 WAIT 状态,请转到步骤 8 。 处于 BUSY 状态,请转到步骤 9 。 处于 RETRY 状态,请转到步骤 10 。 如果看不到消息的目的地,请转到步骤 9 。 7. 在 Log.nsf 中检查控制台日志或 Mail Routing Events 视图,看看消息是否被发送到下一站: 如果下一站是 Domino,请返回到步骤 3 。 如果下一站不是 Domino,那么问题就与 Domino 无关。 [DONE] 如果日志中没有该消息,请向 Lotus Support 寻求帮助。 [DONE] 8. 消息处于 Wait 状态有 2 个原因: 它被标记为“低优先级”,并且正在等待低优先级路由时间范围。 [DONE] 连接文档设置显示“ Route at once if X messages pending ”,并且 X 的阈值还没达到。 [DONE] 9. 在服务器的控制台上发出show tasks命令。如果您看到: 一个路由器线程的状态显示为 IDLE,请向 Lotus Support 寻求帮助。 [DONE] 所有路由器线程的状态都为“ Connecting to ... ”或“ Connecting to ... ”,这可能是服务器超载引起的,积累的邮件正在等待空闲的传输线程。 [DONE] 一个路由器线程的状态显示为 DISPATCHING,请转到步骤 11 。 10. 查看列标题“ Reason of last error ”,如果它显示:服务器没有响应”,请转到步骤 12 。 “远程系统为未知 TCP/IP 主机”,请转到步骤 13 。 “没有错误”,请向 Lotus Support 寻求帮助。 [DONE] “ 400 SMTP Protocol Returned a Transient Error ”,该问题通常与网络或目标服务器相关。 [DONE] 如果没有出现以上问题,请向 Lotus Support 寻求帮助。 [DONE] 11. 如果您看到一个路由器线程的状态为 DISPATCHING,该问题常常与 DNS 相关。确保正确填充 Microsoft® Windows® 注册表中的 所有 NameServer 键: 启动注册表(Start > Run,然后输入 REGEDIT)。 查找以下注册表键: \H KEY_LOCAL_MACH IN E\SYSTEM\CU RRENTCONTROLSET\SERVI CES\TC PI P\PARAMATERS\I NTERFACES。 确保“ NameServer ”字符串包含针对 DNS 的正确 IP 地址;如果它没有包含 IP 地址,那么在字段中输入该 IP 地址并重启 Domino 路由器。 [DONE] 尝试在 Notes.ini 文件中使用 DNSServer=<1.2.3.4>(其中 1.2.3.4 表示您的 DNS 服务器的 IP 地址),从而让 Lotus Domino 绕过 OS 直接查询 DNS 。 [DONE] 12. 使用 Telnet 在端口 25(SMTP)和端口 1325(NRPC)上测试远程服务器的连接: 如果不能连接,很可能是网络或防火墙问题。 [DONE] 如果能够连接,可能是 DNS 在解析目标服务器时为 Lotus Domino 提供了一个错误的值。(回到步骤 11)。 13. “远程系统为未知 TCP/IP 主机”错误表明 DNS 不能将主机名解析为 IP 地址(回到步骤 11)。 入站 SMTP 出现问题 如果您: 不能从 所有 Internet 域接收 SMTP 邮件,请转到步骤 1 。 仅能够从一些 Internet 域或地址接收 SMTP 邮件,请转到步骤 2 。 1. 在 Domino 控制台上发出show tasks命令;如果您: 看到“ SMTP 服务器:在端口 25 上监听请求”,请转到步骤 3 。 没有看到“ SMTP 服务器”,请转到步骤 4 。 看到“ SMTP 服务器”在其他端口监听请求,而不是 25 端口,请转到步骤 5 。 2. 收集在 Log.nsf 或控制台日志中看到的 DFR 和任何相关的错误。请向 Lotus Support 寻求帮助。 [DONE] 3. 检查 DNS 中针对您的 Internet 域的 MX 记录。(有一些网站为此提供帮助,例如 www.dnsstuff.com)。如果 MX 记录: 不存在,请联系 DNS 管理员或 ISP 获取 MX 记录。 [DONE] 存在,但指向非 Domino 服务器,请转到步骤 6 。 存在,并且指向 Domino 服务器,请转到步骤 7 。 4. 进入 Server 文档的 Basics 选项卡,并找到“ SMTP Listener Task ”字段。检查它是否被设置为 ENABLED,然后在服务器控制台上发出load smtp命令(见步骤 1)。 5. 第三方软件可能被配置为在端口 25 进行监听,然后通过另一个端口将邮件传输给 Lotus Domino(通常是端口 26)。检查您是否在端口 25 上运行第三方 SMTP 监听器: 如果是,请联系供应商获得帮助,因为所有入站 SMTP 必须首先指向端口 25 。 [DONE] 如果没有,请在 Server 文档中将 Domino Inbound SMTP 端口重置为 25 。(见步骤 1)。 6. 在外部网络和 Domino 环境之间有一个非 Domino 网关: 联系供应商获得非 Domino 服务器支持,诊断并解决不能接收 SMTP 邮件的问题。 [DONE] 网关能够接收 SMTP 邮件,但不能传输到 Domino,请转到步骤 7 。 7. 使用 Telnet 从防火墙外部测试通过端口 25 到 Lotus Domino 服务器的连接。为此,在防火墙外部找到一个工作站;如果它是 Windows 平台,打开命令提示符并输入 “ telnet 25 ”。图 5 显示了能够成功连接到 Domino 服务器(注意,显示了版本号)。   图 5. 成功的连接 如果 Telnet 连接: 成功,但得到一个 220 Domino 提示,请转到步骤 8 。 成功,但得到一个非 Domino 提示,请回到步骤 5 。 失败,请转到步骤 9 。 8. 通过 Telnet 执行完整的 SMTP 会话。图 6 演示了 Domino 服务器的成功 SMTP 会话。要在这个步骤获得帮助,请向 Lotus Support 寻求帮助。 图 6. Lotus Domino 成功会话 如果通过 Telnet 的 SMTP 会话: 成功,并且允许投递消息,那么接收者就会在邮件文件中收到消息,Lotus Domino 正常工作并且可以接收 SMTP 邮件。 [DONE] 看似成功,Domino 服务器声称可以接受并投递消息,但接收者的邮件文件没有收到消息,请回到 5.1 小节的步骤 3 。 失败,并且在交换命令时得到 4XX 或 5XX 错误消息,请收集错误消息并向 Lotus Support 寻求帮助。 [DONE] 9. 在防火墙 内部 找一个工作站,并重复相同的 Telnet 连接测试: 如果 Telnet 连接成功,那么入站 SMTP 问题很可能是防火墙在端口 25 阻止入站数据引起的。 [DONE] 如果 Telnet 连接失败,请转到步骤 10 。 10. 直接从物理服务器 Telnet 到自身。如果 Lotus Domino 运行在 Windows 平台上,请在命令提示符处输入“ telnet localhost 25 ” 如果 Telnet 连接成功,请转到步骤 8 。 如果 Telnet 连接失败,请向 Lotus Support 寻求帮助。 [DONE] Internet 用户回复邮件时得到一个 DFR 错误 在这个场景中,问题的根源是不正确的 Internet 地址语法。不正确的回复地址的典型例子是 joe.user/org%domain@domain.com。正确的语法为 joe.user@domain.com。 1. 在 Advanced > Locations 视图下面的 Notes Client Personal Address Book 中打开 Location 文档。最常使用的 Location 文档是“ Office ”文档。如果您的 Internet Address 字段为: 空白,请转到步骤 2 。 显示错误值,请将其更改为正确的值。 [DONE] 显示正确值,请转到步骤 3 。 2. 可能 Domino 管理员是有意留空该字段的,这样可以限制用户修改 Internet 地址,以及允许在服务器的 Domino Directory 集中执行地址查找 如果不是 Domino 管理员有意留空该字段,请用所需的 Internet 地址填充它。 [DONE] 如果是 Domino 管理员有意留空该字段,请转到步骤 4 。 3. 打开 Sent 文件夹并右键单击某个 Internet 接收者的最新消息。转到 Document Properties,单击 Fields 选项卡(第二个选项卡),然后查找 iNetFrom 字段: 如果不能找到该字段,或该字段显示错误的值,请转到步骤 5 。 如果找到该字段,并且其值与 Location 文档中的 Internet Address 字段一样,但问题仍然没有解决,请向 Lotus Support 寻求帮助。 [DONE] 4. 在 Domino Directory、Configuration 文件夹、Messaging 和 Domains 视图中打开 Global Domain 文档。检查是否在 Restrictions 选项卡中列出 Notes Domain,然后查看 Conversions 选项卡。如果“ Internet Address Lookup ”字段: 为 ENABLED,请转到步骤 6 。 为 DISABLED,请转到步骤 7 。 5. 您的 Lactation 文档很可能已经损坏。请创建一个新的 Location 文档,并根据旧的 Location 文档填充必要的值。然后删除旧的 Location 文档,并将另一个测试消息发送到 Internet(见步骤 3)。 6. 查找并打开发送者的 Personal 文档。如果其中的 Internet Address 字段为: 空白,请用所需的值填充它。 [DONE] 空白,并且是 Domino 管理员有意留空的,请转到步骤 7 。 正确填充,请向 Lotus Support 寻求帮助。 [DONE] 7. 返回到 Global Domain 文档的 Conversions 选项卡。检查“ Local part formed from: ”字段是否设置为“ Common Name ”,以确保本地部分(@ 符号左边的部分)为“ joe.user ”而不是“ joe.user/org ”。然后检查“ Domino Domains Included ”字段是否设置为“ None ”,以确保“ %domain ”没有添加到 Internet 地址。 [DONE] 通过 POP3 或 IMAP 接收邮件出现问题 如果在下列操作中出现问题: 通过 POP3 获取邮件,请转到步骤 1 。 通过 IMAP 获取邮件,请转到步骤 9 。 1. 如果您的 POP3 客户端: 不能连接到 Lotus Domino,请转到步骤 2 。 能连接但身份验证失败,请转到步骤 3 。 能够通过身份验证但不能接收邮件,请转到步骤 4 。 2. 在 Domino 控制台上发出show tasks命令,并查找在端口 110 上监听请求的 POP3 Server 。如果您: 看到在端口 110 上执行监听任务,请转到步骤 5 。 没有看到 POP3 Server 任务执行监听,请转到步骤 6 。 3. 检查用户是否有一个在 Person 文档中指定的 Internet 密码。这是用于身份验证的 POP3 密码。 User Name 取决于在 Security 选项卡上设置的以下 Server 文档: 如果该字段设置为 More name variations with lower security, 那么用于身份验证的用户名就能够匹配用户的 Person 文档中的 shortname、lastname、common name 或 Internet 地址。 如果该字段设置为 Fewer name variations with higher security, 那么用于身份验证的用户名就能够匹配用户的 Person 文档中的 Internet 地址和 common name 。(见步骤 8)。 4. 收集任何出现在 POP3 Client 或 Domino 服务器控制台 / 日志中的错误消息。如果不能在 Lotus Support Web 站点 找到这些错误,请向 Lotus Support 寻求帮助。 [DONE] 5. 使用 Telnet 从安装 POP3 Client 的工作站通过端口 110 测试 Domino 的连接。如果是 Windows 平台,请打开命令提示符并输入“ telnet 110 ”。 如果 Telnet 连接成功,将提示 OK Domino(请转到步骤 7)。 如果 Telnet 连接失败,请从防火墙内部重复相同的 Telnet 测试。如果连接成功,那么很可能是防火墙阻止外部用户通过端口 110 。 [DONE] 6. 检查是否在 Server 文档、Ports 选项卡、Internet Ports 和 Mail 选项卡中启用了 POP3 端口 110 。这个端口应该默认启用。核实之后,在控制台发出 load pop3 命令。 如果禁用了 110 端口,请首次启用它(见步骤 2)。 如果已经启用 110 端口,请向 Lotus Support 寻求帮助。 [DONE] 7. 确认 POP3 Client 被配置为使用 110 作为 POP3 端口。此外,尝试在 POP3 Name 字段中使用 IP 地址(与在 Telnet 上使用的一样)。如果 DNS 不能解析 POP3 服务器的主机名,连接就是失败的。 [DONE] 8. 使用 Telnet 测试 POP3 身份验证。从命令提示符通过端口 110 连接到 Domino 服务器。在收到 OK Domino 提示之后,输入: User username  Pass password   如果收到提示“ OK用户名有 X 条消息”,身份验证成功。对 POP3 客户端使用相同的凭证。 [DONE] 如果收到提示“ -ERR Error ”,使用这些凭证的身份验证失败。在 Person 文档中重新设置 Internet 密码,并通过 Telnet 重复测试身份验证,直到登录成功。 [DONE] 9. 如果 IMAP Client: 不能连接到 Lotus Domino,请转到步骤 10 。 能够连接,但身份验证失败,请转到步骤 11 。 能够通过身份验证,但不能获取邮件,请转到步骤 12 。 10. 在 Domino 控制台上发出show tasks命令,并查看 IMAP Server 是否在端口 143 上监听请求。如果您: 看到 IMAP Server 在端口 143 上执行监听任务,请转到步骤 13 。 没有看到 IMAP Server 的监听任务,请转到步骤 14 。 11. 确认用户拥有在 Person 文档中指定的 Internet 密码。这就是用于身份验证的 IMAP 密码。 User Name 将取决于在 Security 选项卡中的 Server 文档:   如果这个字段设置为More name variations with lower security,那么用于身份验证的 User Name 将能够匹配用户的 Person 文档中的 shortname、lastname、common name 或 Internet 地址。   如果这个字段设置为Fewer name variations with higher security,那么用于身份验证的 User Name 将能够匹配用户的 Person 文档中的 common name 或 Internet 地址。   收集出现在 IMAP Client 或 Domino 服务器控制台 / 日志中的所有错误消息。如果不能在 Lotus Support Web 站点 找到这些错误,请向 Lotus Support 寻求帮助。 [DONE]   使用 Telnet 从安装 IMAP Client 的工作站通过端口 143 测试 Domino 的连接。如果是 Windows 平台,打开命令提示符并输入“ telnet 143 ”。图 8 显示了成功连接到 Domino 服务器。   图 8. 成功连接 如果 Telnet 连接成功,将收到提示 OK Domino(请转到步骤 15)。 如果 Telnet 连接失败,请从防火墙内部重复相同的 Telnet 测试;如果连接成功,那么很可能是防火墙阻止外部用户连接到端口 143 。 [DONE] 14. 检查是否在 Server 文档、Ports 选项卡、Internet Ports 和 Mail 选项卡中启用了 IMAP 端口 143 。这个端口应该默认启用。核实之后,在控制台发出load imap 命令: 如果禁用了 143 端口,请首次启用它(见步骤 10)。 如果已经启用 143 端口,请向 Lotus Support 寻求帮助。 [DONE] 15. 确认 IMAP Client 被配置为使用 143 作为 IMAP 端口。此外,尝试在 IMAP Server Name 字段中使用 IP 地址(与在 Telnet 上使用的一样)。如果 DNS 不能解析 IMAP 服务器的主机名,连接就是失败的。 [DONE] 16. 使用 Telnet 测试 IMAP 身份验证。从命令提示符通过端口 143 连接到 Domino 服务器。在收到 OK Domino 提示之后,输入: tag loginusername password 如果收到提示“ OK 登录完成”,身份验证成功。对 IMAP 客户端使用相同的凭证。 [DONE] 如果收到提示“登录用户名或密码无效”,使用这些凭证的身份验证失败。在 Person 文档中重新设置 Internet 密码,并通过 Telnet 重复测试身份验证,直到登录成功。 [DONE] Notes 邮件文件收到重复的消息 如果收到重复消息的发送者: 是内部 Notes 用户,请转到步骤 1 。 位于 Internet,请转到步骤 2 。 1. 打开 Notes Client 的 Inbox 并找到重复的消息。右键单击第一条消息并转到“ Document Properties ”。单击 Field 选项卡(第二个选项卡)并突出显示PostedDate字段。记录时间戳的值:“ 04/04/2006 07:58:01 AM EDT ”。如果 PostedDate匹配,请转到步骤 3 。 PostedDate不匹配,请转到步骤 4 。 2. 通过 Notes Client 在邮件文件中查找重复消息,并选择 View > Show > Page Source 。第一组字段为 RFC822Received字段。每个Received字段表示消息从源服务器到达目标服务器时经过的一个 SMTP 服务器站。每个服务器站都标记有收到消息的时间。将Received字段列表的时间戳与重复消息的时间戳进行比较: 如果一组Received字段没有显示相同的时间戳,请转到步骤 10 。 如果Received字段列表显示相同的时间戳,请回到步骤 3 。 3. 在 Document Properties 的 Field 选项卡上查找$MessageID字段。将整个值与重复消息的 $MessageID进行比较: 如果 $MessageID值匹配,请转到步骤 5 。 如果 $MessageID值不匹配,请转到步骤 6 。 4. 如果PostedDate字段值不匹配,发送者的邮件客户端就会两次构建该消息。这不是真正的重复消息。出现这种情况的原因可能是发送者的邮件文件代理发生故障或发送者有意发送两次。 [DONE] 5. 在 Document Properties 的 Field 选项卡中,找到RouteServers字段。记录该信息经过的 Domino 服务器的列表,比如: "CN=SERVER02/OU=ACM E/O=Lotus"  "CN=SERVER04/OU=ACM E/O=Lotus"   将这个列表与重复消息的RouteServers列表进行比较: 不匹配的列表可能是 Domino Directory 配置引起的。请向 Lotus Support 寻求帮助。 [DONE] 如果 RouteServers 列表与重复消息匹配,请转到步骤 7 。 如果 $MessageID字段值不匹配,我们就不是处理真正的重复消息。第三方干预消息(最常见的是杀毒软件扫描 Mail.box 中的消息时进行的干预)可能造成不一致的 $MessageID。 Mail.box 中的定制代理也可能修改消息的字段值。注意:不支持定制的 Mail.box 代理。 [DONE] 在 Document Properties 的 Fields 选项卡中,找到 RouteTimes 字段,并注意列表的时间。这些时间应该与 RouteServers 列表保持一致;例如: RouteServers:  "CN=SERVER02/OU=ACM E/O=Lotus"  "CN=SERVER04/OU=ACM E/O=Lotus"Route Times:  04/04/2006 07:58:02 AM - 04/04/2006 07:58:03 AM  04/04/2006 07:58:03 AM - 04/04/2006 07:58:04 AM   在以上的示例中,SERVER02 在 7:58:02AM 收到消息,并于 7:58:03AM 路由到 SERVER04 。 SERVER04 在 7:58:03AM 从 SERVER02 收到消息,并于 7:58:04AM 将其投递到邮件文件。 通过将这些字段与重复消息中的相同字段进行比较,我们就可以确定哪个服务器负责传输或投递重复消息。尤其是Route Times时间戳与重复消息时间戳不匹配时,肯定是服务器引起的。 如果重复消息的RouteTimes是相同的,请转到步骤 8 。 如果确定了引起问题的服务器,请转到步骤 9 。 在少数情况下,重复消息的 RouteTimes 字段是匹配的,这时我们只能假设路由器仅向邮件文件发送该消息一次。 为了证实假设,需要查看 Log.nsf(Mail Routing Events 视图),其中仅有一个条目说明消息已发送给接收者。证实之后,我们可以将引起重复消息的根源限定为复制代理或接收者的邮件文件中的规则。 [DONE] 很多情况下,第三方提供的杀毒软件会将消息的 RoutingState 更改为 Pending之外的其他值,使其在扫描期间不能路由。另一种扫描是将消息移动到一个临时位置,比如隔离数据库。 当扫描完成时,杀毒软件负责将消息以 Pending 状态返回到 Mail.box 。但是,当杀毒软件发生故障时,就可能多次将消息存放到 Mail.box,这就造成重复的消息。 目前,已知道的能够造成重复消息的唯一 Domino 服务器 bug 已经添加到 SPR#PAZR6LM4UT文档中。注意,在路由负载过重时重启路由器是引发该问题的必要条件。 [DONE] 找到不匹配的Received字段。在 前面的 Received 字段中列出的 SMTP 服务器引起了重复的消息。如果第一个Received字段不匹配,那么发送者就会发送两次消息。如果引起问题的服务器为: 非 Lotus Domino 服务器,请联系供应商获得技术支持。 [DONE] Lotus Domino 服务器,请转到步骤 9 。 邮件发送给错误的接收者 如果邮件被发送给错误的接收者,请检查: 接收者的 Person 文档(见步骤 3)。 Configuration 文档、Router/SMTP 选项卡和 Basics 选项卡(见步骤 4)。 接收者的邮件文件名;如果文件名错误,请将其改正。 [DONE] Address lookup 字段;如果它被设置为“ Fullname then local part ”,请将其改为“ Fullname only ”(见图 9)。此外,确保在第一个接收邮件的服务器(入站 SMTP 服务器)上完成该设置。   图 9. Address lookup 字段 帮助收集诊断邮件路由问题数据的服务器命令包括:   Show Server   Tell Router Show Queue   Show Task   Show Task Time   Show Stat Mail   Route   Trace   图 10 显示了 show server 命令的示例输出。 图 10. Show server 命令的输出 下面是 Tell Router Show Queue 命令的示例输出:   Msgs State Via Destination   57 Busy(18) NRPC [ $LocalDelivery]  24 Retry( 4) NRPC CN=MesungUS/O=Sun (Push)     Last error: Server not responding     Next retry: 1/04/2009 09:53:09 AM   Transfer Threads: Max = 18; Total = 14; Inactive = 0; Max Concurrent = 9   Delivery Threads: Max = 18; Total = 18; Inactive = 0   要了解更多信息,请参考 Lotus Software Knowledge Base 文档 #1093506,“ How to Read the Output of TELL ROUTER SHOW Command ”   图 11 显示 Show Tasks 命令的示例输出。   图 11. Show Tasks 的输出 下面是 Show Tasks Time 命令的示例输出: Database Server   Process Monitor: [ 04/02/2009 15:51:05 ZE5B]    SMTP Server   Listen for connect requests on TCP Port:25   : [04/02/2009 15:50:35 ZE5B]    SMTP Server   Utility task: [ 04/02/2009 15:50:35 ZE5B]    IMAP Server   Listen for connect requests on TCP Port:143    : [04/02/2009 15:50:35 ZE5B]    IMAP Server   Utility task: [ 04/02/2009 15:50:35 ZE5B]    POP3 Server   Listen for connect requests on TCP Port:110    : [04/02/2009 15:50:35 ZE5B]    POP3 Server   Utility task: [ 04/02/2009 15:50:35 ZE5B]    Process Monitor   Idle: [ 04/02/2009 15:50:50 ZE5B]    Agent Manager   Executive '1': Idle: [04/02/2009 15:50:50    ZE5B]    Calendar Connector   Idle: [ 04/02/2009 15:50:35 ZE5B]    SMTP Server   Control task: [ 04/02/2009 15:50:50 ZE5B]    Rooms and Resources Idle: [ 04/02/2009 15:50:50 ZE5B]    IMAP Server   Control task: [ 04/02/2009 15:50:50 ZE5B]    Schedule Manager   Idle: [ 04/02/2009 15:50:50 ZE5B]   图 12 显示 Show Stat Mail 命令的示例输出。   图 12. Show Stat Mail 的输出(查看清晰图) Route 命令例子: Route Marketing/Acme 将邮件发送到 Acme 域中的 Marketing 服务器。服务器控制台显示表明路由何时开始的消息。 Route * 将邮件发送到所有正在等待的目标。 Route [$LocalDelivery] 覆盖下一次重试时间,并立即尝试本地投递。 Trace 命令例子: Trace Ryan/Lotus  Determining path to server Marketing/Acme  Available Ports: TCPIP  Checking normal priority connection documents only...  Allowing wild card connection documents...  Enabling name service requests and probes...  Address found in local TCPIP names table for  Marketing/Acme Connecting to Marketing/Acme over TCPIP Using address 'x.xx.xxx.xxx' for Marketing/Acme on TCPIP  Connected to server Marketing/Acme         使用调试工具收集更多诊断数据 对于内部邮件投递问题,以及通过 SMTP 将邮件发送到 Internet,请使用以下调试工具: DebugRouter Log_MailRouting DebugRouterLookup 表 1 给出了 DebugRouter 的值和日志。 表 1. DebugRouter 的值 DebugRouter=3 的输出是 1 和 2 的输出的累加: DebugRouter=3 Domain *.* added Server CN=MARKETING/O=ACME added to server table, tasks = 0001. Server CN=SALES/O=ACME added to server table, tasks = 0001. Connection from CN=MARKETING/O=ACME to CN=SALES/O=ACME has a Cost= 1 Connection from CN=SALES/O=ACME to CN=MARKETING/O=ACME has a Cost= 1 Sorted Domains follow: Wildcard SMTP Domain='*.*', NextDomain='THEINTERNET ‘ Rule table is 1 segments (0 bytes) Sorted Rules follow: Sorted Connections follow: (Source -> Destination) 'CN=MARKETING/O=ACME'@'LOTUS' -> 'CN=SALES/O= ACME'@'LOTUS ‘ 'CN=SALES/O=ACME'@'LOTUS' -> 'CN=MARKETING/O=ACME'@'LOTUS' 表 2 给出了 Log_MailRouting 的值和日志。 表 2. Log_MailRouting 的值 Log _MailRouting=40 的输出是 10、20 和 30 的输出的累加: Log_MailRouting=40 01/04/2009 05:40:21 PM Router: Searching for messages since 01/04/2009 05:39:55 PM 01/04/2009 05:40:21 PM Router: Message 1:1388 has 1 recipients, priority = 1  01/04/2009 05:40:2 1 PM Router: Note NT00000D02 in mailbox 1 from'CN=Admin  User/O=ACME ‘  01/04/2009 05:40:21 PM Router: Recipient 0 = 'CN=Admin User/O=ACME@Lotus  ‘ 01/04/2009 05:40:2 1 PM  Router: Recipient 0 Username = 'CN=AdminUser/O=ACME' Domain = 'Lotus ‘  01/04/2009 05:40:21 PM Router: Message 1:1388  adding recipient Admin User/Lotus@Lotus (mail\auser.nsf)  to the Local Delivery queue  0 1/04/2009 05:40:2 1 PM Router: Message 007C88FD delivered to Admin  User/Lotus from Admin User/Lotus OFB519EB71 :FC2D0599  ON85256FA1 :007C88FD Size: 1K Time: 00:00:0 1 Hop Count: 1  0 1/04/2009 05 :40:26 PM Router: Deleting delivery  queue [$LocalDelivery]  0 1/04/2009 05 :40:26 PM Router: Deleting delivery  recipient descriptor for CN=Admin User/O=ACME   表 3 给出了 DebugRouterLookup 的值和日志。 表 3. DebugRouterLookup 的值 DebugRouterLookup=3 [Bogus User] 0 1/04/2009 05:07:50 PM DebugRLookup:  Lookup beginning for user:bogus.user name:  bogus.user@sun.com 0 1/04/2009 05:07:50 PM  DebugRLookup: Lookup beginning for user:bogus.user name: bogus.user  0 1/04/2009 05:07:50 PM DebugRLookup: Lookup error:  UserName: bogus.user Error: User %a not listed in Domino Directory  DebugRouterLookup=3 [Valid User] 02/07/2005 11:52:13 AM DebugRLookup: Lookup beginning  for user:test name: test 02/07/2005 11:52:14 AM  DebugRLookup: Lookup beginning for user:test name:  test 02/07/2005 11:52:14 AM DebugRLookup:  Lookup result has [2] matches. user: test name: test  02/07/2005 11:52:14 AM DebugRLookup:  Lookup multiple match 2 Fullname[1] = CN=Test User/O=Lotus  02/07/2005 11:52:14 AM DebugRLookup:  Lookup multiple match 1 Fullname[1] = CN=Test User/O=IBM/C=IN  02/07/2005 11:52:14 AM DebugRLookup:Lookup multiple match 1 Fullname[2] = Test User  02/07/2005 11:52:14 AM DebugRLookup:  Lookup Error: Non unique matches for user:Test name: Test         使用 Notes.ini 变量进行调试 下面列出一些 Notes.ini 变量,可以通过在 Domino 服务器上设置它们来调试 SMTP 路由问题。这些变量内容摘自 Lotus Support Techdoc #:7003007, “ Domino Router notes.ini debug parameters for SMTP" 。 重要注意事项:SMTPClientDebug 参数不需要使用 Notes.ini 参数 debug_outfile 。所有信息都写到 Log.nsf 的 Miscellaneous 部分。不过,SMTPDebug 和 SMTPDebugIO 没有将其 outfile(输出文件)写到 LOG.NSF,因此需要使用以下参数: debug_outfile=path/filename .txt   SMTPClientDebug 。 捕捉出站 SMTP 协议对话。这适用于所有通过 SMTP 协议和路由器发送到其他服务器的消息。注意,这并不包含消息的内容,而是更高级别的协议命令和响应: 1 – 支持捕捉出站 SMTP 消息传输协议。 SMTPDebug 。 捕捉入站 SMTP 协议对话。这是适用于 SMTP 监听器通过 SMTP 协议从所有客户机和服务器接收到的消息: 1 – 支持 SMTP 监听器的最小日志记录。 2 – 支持对带有额外调试信息的已发送和接收的数据进行信息日志记录。这个设置能够提供随传输数据附带的已接收 / 发送的命令和响应,但不包含传输的文本。 3 – 支持详细记录已发送和接收的数据。这个设置和设置 2 记录的信息结合起来,就可以通过 SMTP 显示接收 / 发送的真实文本。注意,这并不包含消息的文本体。 4 – 这些最详细的日志记录(注意,这是未归档的值;文档仅列出前 3 个级别)。 SMTPDebugIO 。支持记录 SMTP 监听器任务接收到的所有数据: 0 – 不记录日志 1 – 在 SMTP 会话期间发送和接收的字节数 3 – 记录 SMTP 任务接收到的所有数据 4 – RFC822 数据(消息数据) 语法: SMTPDebug IO=value 警告: 仅在必要时使用 SMTPDebugIO,并且要尽快禁用它。它会让日志文件变得非常大,并且记录接收到的消息的内容。 适用于: SMTP 服务器 默认值: 0 UI 等效: 没有 图 13 给出了 SMTPDebugIO=4 的示例输出。 图 13. smtpdebugio=4 的示例输出 SMTPSaveImportErrors 。支持 SMTP 监听器在收到消息上下文时将其完整地保存下来。消息被写到系统中名为 STXXXXXX.TMP 的临时目录中的文件中。当消息保存在临时文件中之后,一行表示文件名的文字将被写到日志中。控制消息保存的参数的值如下所示: 1 – 保存所有导入失败的消息(解析 / 保存到 MAIL.BOX)。这一设置能够捕捉我们不能接收到的从其他 SMTP 服务器发送到该 服务器的消息。注意,使用该值时仅能将导致 严重错误 的消息写到临时文件中。 2 – 保存服务器接收到的所有消息。 3 – 在导入和删除所有已经成功接收并写到 MAIL.BOX 的消息期间保存所有入站消息。仅将没有成功导入到 MAIL.BOX 的消息保存到临时文件中。 要了解更多信息,请参考 Knowledge Base 文档 #:1095102 “ How to trap inbound SMTP messages on a Domino server ”。 为了检查 SMTP 邮件路由中与网络相关的问题,我们可以使用这些调试参数: debug_tcp_resolver=1 。在诊断 DNS 问题时提供“好”和“坏”示例响应。 debug_tcp_session=1 。显示关于在 TCP/IP 上打开和关闭的会话的调试信息。 要了解更多信息,请参考 Knowledge Base 文档 #: 1087806 “ How should the DEBUG OUTFILE Parameter Be Implemented? ” 结束语 现在,客户应该有信心解决邮件路由问题,并减少解决问题所需的时间。如果您是一位支持工程师,这份白皮还能帮助您解决邮件路由问题,并加深您对调试结果的理解。
/
本文档为【Domino 邮件发送不出诊断过程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索