2014-03-28 248 views
0

我有一个应用程序,例如使用电子邮件[email protected](这是有效的)来发送电子邮件,但最近用户谁填写了一个webform在线谁使用外部电子邮件(hotmail,gmail,yahoo)地址不会收到电子邮件。我能够通过将发送邮件发件人更改为[email protected](这是一个无效的电子邮件地址)来解决此问题。是什么导致这种情况发生?如果我的问题过于宽泛或不够详细,我很抱歉。我目前不太了解SMTP或网络中继来解释更多。请注意,这个问题发生在使用IIS配置的服务器上,而使用Apache配置的服务器上。发送邮件功能不会发送邮件与vailid电子邮件地址

回答

1

本文应解决您的问题。 (我知道你没有提到DotNetNuke的,但是我知道你的项目,并知道你在使用它。)

DotNetNuke SMTP Configuration Requirements

你有四种选择,每一个独特的问题。

开放中继邮件服务器很快就会受到垃圾邮件发送者的攻击。 他们总是在寻找邮件服务器,他们可以滥用。 永远不建议您将互联网上的邮件服务器和 设置为开放式中继。此外,如果发现您的邮件服务器处于开放式中继,您的邮件服务器将被 其他邮件服务器列入黑名单。

SMTP验证仍然可以限制在某些IP地址。许多互联网服务提供商只允许您使用他们的邮件服务器 ,而您是他们的客户,并通过他们自己的IP地址连接到他们的邮件服务器 。因此,当您通过拨号 或高速连接连接到互联网时,在您的电子邮件 应用程序中可以正常工作,但只要您从它们提供的 连接移开,就无法连接到 他们的服务器,更不用说Authenticate了。

即使您的ISP允许从您的邮件服务器运行的地址进行中继,在SMTP服务器通常配置为使用的正常端口上可能存在防火墙或阻止。端口25. 如果Web服务器和邮件服务器之间存在防火墙,则必须将其配置为允许通过端口25的流量。

您可能在同一系统上配置了带有SMTP服务器的Web服务器。然而,通过端口号码为2525的端口将被阻止。某些ISP的阻止端口25遏制电子邮件流病毒 。你需要确保你的ISP提供 连接到互联网,为您的Web和SMTP服务器是不是 阻止端口25

+0

我从codeplex安装SMTP4DEV以确保它不是DNN。另外我在另一台服务器上使用apache和ruby on rails进行了测试。我保留关于我改变的文档,所以我不会忘记。即使小的webconfig更改。 – Skullomania

+0

你可以用名为MailChimp的服务来尝试它,它们也有一个你可以绑定的API。 – Greg

1

我觉得还有别的东西在这里打球。使用地址invalid成功发送邮件是没有意义的,但地址不能发送valid。我会开始检查你的邮件服务器日志。这些应该显示您是否接收邮件服务器正在接受从您的邮件服务器传送这些邮件。否则,日志可能会显示接收邮件服务器拒绝传送的原因。

传送失败的最可能的原因是:

1)与您的邮件服务器的DNS问题。检查您的邮件服务器在HELO或EHLO中向其他邮件服务器标识自己时是否给出正确的名称,并检查此名称是否解析为您的邮件服务器的IP,并且您的邮件服务器的IP是否反向回到此名称。

2)您的邮件服务器的IP被列入黑名单上的一个或多个垃圾邮件黑名单。您可以检查您的邮件服务器是否没有列在任何黑名单上http://mxtoolbox.com/blacklists.aspx