问题:
我正在尝试连接到远程邮件服务器以从 ASP.NET MVC 4 应用程序发送电子邮件。尽管使用我的客户给我的详细信息来设置 web.config,但我收到以下错误:
No connection could be made because the target machine actively refused it 127.0.0.1:25
设置:
我有一个需要发送电子邮件的 ASP.NET MVC 4 网站。邮件服务器没有安装在与网络服务器相同的盒子上。
网络服务器上没有安装 smtp 客户端或服务器。需要这个吗?
客户几乎没有托管自己的网络服务器的经验。我一直使用托管公司的说明连接到邮件服务器。这家公司似乎没有任何人有专业知识。我是一名外部顾问,没有网络或邮件服务器方面的经验。
网络配置:
<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="systems@medreport.co.uk">
<network host="MYHOST1" userName="MyUser" password="PASSWORD" clientDomain="myhost1.mydomain.co.uk" />
</smtp>
</mailSettings>
</system.net>
我的推理:
从错误中,似乎 ASP.NET MVC 应用程序正在 localhost 机器上寻找邮件服务器,即与 web 服务器相同的机器。它不存在,所以我得到了错误。
如果这是正确的,那么我的 web.config 中的标签属性一定有问题。这些属性没有指向有效的服务器,所以我假设系统默认为 localhost 上的邮件服务器。这个推理正确吗?
问题:
可能没有为标签的属性
host
或标签的属性提供正确的名称。结果,mvc 应用程序尝试在 localhost 上查找邮件服务器。这个推理正确吗?clientDomain
<network>
我已获得类型为 clientDomain="myhost1.mydomain.co.uk" 的客户端域名。但是,我尝试不是通过 Internet 连接,而是通过客户端的 Intranet 连接。我不应该有一个反映我通过 Intranet 连接的 clientDomain 属性吗?
该网站使用 SSL。我尝试使用 enableSsl 属性无济于事。但是,我认为 enableSsl 属性与与邮件服务器的通信有关,而不是与网络服务器通信。这个对吗?由于邮件服务器在他们的内部网络上,我理解他们没有为邮件服务器使用 SSL。
另一种理论是防火墙问题将我从邮件服务器中弹出。但如果是这样的话,我肯定会得到一个更具体的错误......?
编辑:
我是否需要在网络服务器上安装 SMTPclient 才能连接到不同盒子上的邮件服务器?