【问题标题】:Do SMTP services need to be installed for a web app to send emails via a mail server on another box?是否需要为 Web 应用程序安装 SMTP 服务才能通过另一个盒子上的邮件服务器发送电子邮件?
【发布时间】:2013-04-04 01:32:13
【问题描述】:

我在从 ASP.NET MVC 4 应用程序发送电子邮件时遇到问题。我越来越害怕了:

No connection could be made because the target machine actively refused it 127.0.0.1:25

客户端的邮件服务器在另一个盒子上。我有正确的主机名,我可以 ping 它。我还可以使用 telnet 来显示邮件服务器已准备好并正在侦听端口 25。

在我的 web.config 文件中,我有以下内容:

<system.net>
    <mailSettings>
      <smtp deliveryMethod="Network" from="support@myclient.co.uk">
        <network host="mailserver1" clientDomain="OfficeNetwork.local" />
      </smtp>
    </mailSettings>
  </system.net>

但是,我仍然收到上述错误,就好像它试图在本地计算机上查找邮件服务器一样。

为什么?

不是 IIS 或邮件服务器方面的专家,我是否需要在默认配置中添加任何内容,以便在 Web 服务器上运行的我的 Web 应用程序可以使用另一个机器上的邮件服务器?即,是否需要安装 SMTP 服务才能发生这种情况?

【问题讨论】:

  • 您能告诉我们您发送电子邮件的代码吗?我认为您的 web.config 没有问题。
  • @cheesemacfly:感谢收看。请参阅我的答案,了解为什么要将其留给网络人员。
  • 我刚刚看到了您的解决方案,但只是因为我很好奇,当您说I can also use telnet to show that the mailserver is ready 时,您是否真的走到了流程的最后并发送了没有身份验证的电子邮件?
  • @cheesemacfly: 不,我刚刚做了 telnet mysmtpserver 25
  • 所以可能从一开始就存在身份验证,这就是您的配置不起作用的原因!怪网络人!! ;)

标签: iis asp.net-mvc-4 smtp


【解决方案1】:

您需要将 SMTP 添加为 IIS 中的新角色。它相当容易。 This should get you started

不要忘记检查服务是否已启动并正在运行。

【讨论】:

  • 谢谢你,我会在我生命中的某个阶段看看它。现在我正在为失去的两天感到后悔。
【解决方案2】:

网络小哥回来解决了。但是,我不知道它为什么会起作用。

他所做的只是在我添加到标签的邮件服务器上创建一个用户和密码,然后所有问题都消失了。我怀疑这取决于他们如何为邮件服务器配置安全性并且他们没有告诉我......或者,他们也没有任何线索,或者很幸运,有人告诉他们尝试一下。

所以又大了一天,甚至一点也不聪明。只是负债累累。但对网络人来说不是。

【讨论】:

    猜你喜欢
    • 2018-10-17
    • 1970-01-01
    • 1970-01-01
    • 2012-03-21
    • 2011-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    相关资源
    最近更新 更多