在两台 Windows 7 PC、一台 Android 平板电脑和一部 Android 手机上,十几个电子邮件帐户多年来一直运行良好。我断开了 Comcast 的连接,并使用我在房地产拍卖会上购买的 Actiontec Q1000 路由器/调制解调器安装了 CenturyLink 服务,然后重置了设备。
现在,每次我们尝试使用 Thunderbird 发送消息时,SMTP 都会失败。传入电子邮件工作正常。只有 ISP 发生了变化。CenturyLink 表示他们删除了端口 25 的过滤(不管这意味着什么),但我仍然遇到同样的问题。
可能有趣的是,新路由器的 CD 安装过程失败,并显示一条消息,要求我致电技术支持,我照做了,他们让路由器可以上网了。我的技术技能相当不错,是一名网络开发人员/程序员,我托管 80 个客户域并为数百人提供电子邮件服务。但这个问题让我和 CenturyLink 都惊呆了。
Thunderbird 错误:“无法发送邮件,因为与 SMTP 服务器 blahblah.com 的连接超时。请重试或联系您的网络管理员。”
我确信服务器没有问题,数百人正在使用它来收发电子邮件,其他人都没有遇到任何问题。我们检查了路由器防火墙,以确保 SMTP 可以接收和发送。
答案1
我不相信 CenturyLink 会过滤 25 端口。封锁 25 端口是一种非常这是 ISP 为防止僵尸机器被用来发送垃圾邮件而采取的常见措施。您使用的 SMTP 服务器是否也允许端口 587?587 现在是提交的标准。在进行任何更高级的故障排除之前,值得一试。
你知道无法连接端口 25,但你不知道在哪里连接失败。找出此问题的一个好方法是使用 TCP 跟踪路由。简而言之,您可以启动 Linux 安装(或 Live CD)并执行以下两个跟踪路由(根据需要更改主机名):
[root@gamma ~]# traceroute -T -p 25 smtpserv.uri.edu
traceroute to smtpserv.uri.edu (131.128.1.40), 30 hops max, 60 byte packets
1 Wireless_Broadband_Router.home (192.168.1.1) 1.093 ms 1.092 ms 1.090 ms
2 lo0-100.PRVDRI-VFTTP-303.verizon-gni.net (100.40.70.1) 6.626 ms 6.628 ms 6.626 ms
3 T1-5-0-2.PRVDRI-LCR-22.verizon-gni.net (100.41.218.154) 9.452 ms T1-5-0-3.PRVDRI-LCR-21.verizon-gni.net (100.41.218.156) 10.893 ms T1-5-0-2.PRVDRI-LCR-22.verizon-gni.net (100.41.218.154) 9.441 ms
4 * * *
5 * * *
6 * * *
(no replies after this point)
[root@gamma ~]# traceroute smtpserv.uri.edu
traceroute to smtpserv.uri.edu (131.128.1.40), 30 hops max, 60 byte packets
1 Wireless_Broadband_Router.home (192.168.1.1) 1.248 ms 1.241 ms 1.239 ms
2 lo0-100.PRVDRI-VFTTP-303.verizon-gni.net (100.40.70.1) 9.302 ms 9.305 ms 9.303 ms
3 T1-5-0-3.PRVDRI-LCR-21.verizon-gni.net (100.41.218.156) 13.585 ms T1-5-0-2.PRVDRI-LCR-22.verizon-gni.net (100.41.218.154) 12.165 ms T1-5-0-2.PRVDRI-LCR-21.verizon-gni.net (100.41.218.152) 13.582 ms
4 xe-3-0-8-0.BOS-BB-RTR2.verizon-gni.net (130.81.163.188) 12.162 ms * xe-11-1-0-0.NY5030-BB-RTR1.verizon-gni.net (130.81.163.180) 16.170 ms
5 * * *
6 0.ae2.BR3.NYC4.ALTER.NET (140.222.229.99) 16.828 ms * *
(etc: this traceroute completes)
第一个 traceroute 使用 TCP 端口 25。第二个 traceroute 使用某个随机 UDP 端口,并一路到达目的地。第二个 traceroute 是我的控制:它向我展示了我能成功到达目标主机。第一个显示我在端口 25 上的连接尝试在第 3 跳和第 4 跳之间失败:这是我的 ISP 阻止端口 25 的地方。