我将 Outlook 配置为使用 ISP 的 smtp 服务器上的端口 25。这样就可以正常工作,我可以发送电子邮件。但如果我尝试在我的某个应用程序中使用该服务器(使用 JavaMail),则无法连接到该服务器。如果我尝试“手动”远程登录到它,也会发生同样的情况:我得到
telnet: Unable to connect to remote host: Connection refused
这怎么可能?我该如何配置我的应用程序才能发送邮件?
编辑以添加更多信息:
Wireshark 显示,当 Outlook 尝试发送电子邮件时,它会连接到 ISP 的 smtp 服务器的端口 25。一切正常。当我尝试“telnet 服务器 25”时,连接始终无法到达服务器。我看到“目标无法访问(通信已管理过滤)”,这似乎表明我工作场所的防火墙阻止了它。如果是这样,防火墙如何知道让 Outlook 通过?
答案1
我会使用网络嗅探器Wireshark(免费)查看 Outlook 的功能 - Wireshark 的“跟踪 TCP 流”对此很有用。
答案2
请记住,Windows 可以根据每个应用程序阻止出站连接。检查 Windows 安全控制面板。
答案3
techie007 的思路是对的。计算机上运行的防病毒软件阻止了连接。我现在正在从 Linux 机器上运行该程序,运行正常。