发送邮件功能不会发送具有有效电子邮件地址的邮件



我有一个应用程序,作为一个例子,使用电子邮件user@site.net(这是有效的)来发送电子邮件,但是最近用户填写了一个在线的webform谁使用外部电子邮件(hotmail, gmail,雅虎)地址不接收电子邮件。我能够通过将发送邮件的发件人更改为user@site.com(这是一个无效的电子邮件地址)来解决这个问题。是什么导致了这种情况的发生?如果我的问题太宽泛或不够具体,我先道歉。我目前对SMTP或网络中继的了解还不够多,无法解释更多。请注意,此问题发生在配置了IIS的服务器和配置了apache的服务器上。

这篇文章应该可以解决您的问题。(我知道你没有提到DotNetNuke,但我知道你的项目,知道你正在使用它。)

DotNetNuke SMTP配置要求

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

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

SMTP身份验证仍然可以限制在某些IP地址。许多ISP只允许你使用他们的邮件服务器当你是他们的客户端连接到他们的邮件服务器从他们自己的IP地址这样你的邮件就能正常工作了应用程序,当你通过他们的拨号连接到互联网或者高速连接,但一旦你离开由他们提供的连接,您将不被允许连接到他们的服务器,更不用说认证了。

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

您可能在同一系统上配置了带有SMTP服务器的web服务器。然而,在端口25上阻止它出站通信。某些ISP封锁了25号端口以阻止病毒的传播电子邮件消息。你需要确定你的ISP提供您的web和SMTP服务器连接到互联网是不可能的阻塞端口25.

我认为这里有别的东西在起作用。使用invalid from地址而不使用valid from地址成功投递邮件是没有意义的。我会开始检查你的邮件服务器日志。这些将显示接收邮件服务器是否接受来自邮件服务器的这些消息的传递。如果没有,日志可能会显示接收邮件服务器拒绝发送的原因。

最可能导致交付失败的原因是:

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

2)您的邮件服务器的IP被列入一个或多个垃圾邮件黑名单。您可以在http://mxtoolbox.com/blacklists.aspx

查看您的邮件服务器是否不在任何黑名单中。

最新更新