我有一个 ASP.Net C# Web 应用程序,用于发送电子邮件通知。我将其配置为使用我们 VPS 上的 SMTP 服务器发送电子邮件。但如果该应用程序未托管在 VPS 上,我会收到错误。最里面的异常消息显示:
连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接的主机未能响应 xxx.xxx.xx.xxx:xx
如果该应用程序托管在 VPS 上,它就可以正常运行。
我检查了端口是否打开yougetsignal.com并且它说端口 25 已打开。但使用 telnet(在我的本地机器上)它说:Could not open connection to the host, on port 25: Connect failed
。我也试过端口检查工具在 VPS 上,它说Your ISP/Router/Firewall is not blocking port 25.
我不知道该怎么办,你能帮帮我吗?
答案1
由于您使用此 SMTP 服务器发送邮件,因此请配置经过身份验证的留言提交(RFC 6409) 到端口587
(STARTTLS
或 SMTPS 到端口465
)。您应该能够在几乎任何 SMTP 端口25
被阻止的地方使用此功能,因为该连接不打算用于托管邮件服务器。这不会影响来自您的 VPS 的 SMTP 连接。
答案2
几乎所有个人互联网服务提供商的防火墙端口都是:25/tcp,向外方向。您需要使用 VPN 连接或选择企业 ISP 合同。
答案3
Esa Jokinen 的回答实际上是解决我的问题的第一步,我只是忘记把它们结合起来了。
在我在这里发布我的问题之前,我已经在尝试入MailEnable Management Console
站端口设置,勾选Listen on alternate port
下面的选项Submission Port
并将端口更新为587
(默认值为49
)。
听取了 Esa 的建议后,我打开了Message Submission
Plesk,但没有添加防火墙规则来允许端口587
。所以当我说我让它工作时,我实际上是在使用端口25
(也许它被 ISP 的防火墙拦截了,所以第二天它就不工作了)。
所以我唯一想念的是添加防火墙规则以允许访问端口 587。