发送电子邮件时出现 ICMP“端口不可达”

发送电子邮件时出现 ICMP“端口不可达”

几个月以来,我在发送电子邮件时时常遇到问题。

使用 tcpdump,我终于发现我收到了“端口无法访问”消息,根据源 IP,该消息似乎是从我的电子邮件提供商那里收到的。但我的电子邮件提供商说他们无法在他们的网络中发现问题,并说问题一定出在我的网络中。为了排除防火墙的问题,我设置了端口镜像,并捕获了连接到作为网桥运行的电缆调制解调器的端口上的数据包。

我已经做了很多故障排除。我看到:

  • 当我通过 Wi-Fi 从 Android 手机发送或通过有线 PC 上的 Thunderbird 发送时,都会发生错误。
  • 当我向电子邮件提供商发送 SMTP 端口 465 或 587 时发生错误
  • 这并非总是发生;经过几次尝试,邮件终于被发送;或者第一次尝试就发送了
  • 我刚刚看到,在接收 DNS 响应时,DNS 解析器也会向转发 DNS 服务器 (1.1.1.1, 1.0.0.1) 发送“端口无法访问”消息。我猜这与电子邮件问题无关,但谁知道呢?

这是我收到的 ICMP 错误的一个示例。

Internet Control Message Protocol
    Type: 3 (Destination unreachable)
    Code: 3 (Port unreachable)
    Checksum: 0x8c59 [correct]
    [Checksum Status: Good]
    Unused: 00000000
    Internet Protocol Version 4, Src: <my-ip>, Dst: <smtp-server-ip>
    Transmission Control Protocol, Src Port: 48624, Dst Port: 587, Seq: 3998125229
        Source Port: 48624
        Destination Port: 587
        Sequence number: 3998125229
        [Stream index: 0]
        Acknowledgment number: 0
        Acknowledgment number (raw): 0
        1010 .... = Header Length: 40 bytes (10)
        Flags: 0x002 (SYN)
        Window size value: 29200
        [Calculated window size: 29200]
        Checksum: 0x3680 [unverified]
        [Checksum Status: Unverified]
        Urgent pointer: 0
        Options: (20 bytes), Maximum segment size, SACK permitted, Timestamps, No-Operation (NOP), Window scale
        [Timestamps]

这里可能出现什么问题?网络的哪个部分可能出现问题?问题可能既不是我的网络,也不是电子邮件提供商的网络,这种可能性大吗?

答案1

如果在特定时间范围内来自特定地址的多次登录尝试失败,我的电子邮件提供商将阻止来自特定 IP 的访问,以避免滥用。

原来是我的一台机器由于 TLS 错误导致登录失败,所以我的 IP 地址被暂时封锁了。关闭这些登录后问题就解决了。

排除这个问题的故障真的很难。提供商没有详细说明 SMTP 为何失败。最终解决问题的方法是嗅探/分析从我的整个网络到提供商主机的流量。

相关内容