我有应用程序,例如使用电子邮件user@site.net(有效)发送电子邮件,但最近用户填写网络表格使用外部电子邮件(hotmail,gmail,yahoo)地址不接收电子邮件。我能够通过将发送邮件发件人更改为user@site.com来解决此问题(这是一个无效的电子邮件地址)。是什么导致这种情况发生?如果我的问题太宽泛或不够具体,我会提前道歉。我目前还不太了解SMTP或网络中继来解释更多。请注意,在配置了IIS的服务器和配置了apache的服务器上会出现此问题。
答案 0 :(得分:1)
本文应解决您的问题。 (我知道你没有提到DotNetNuke,但我知道你的项目,并且知道你正在利用它。)
DotNetNuke SMTP Configuration Requirements
您有四个选择,每个选择都有一个独特的问题。
开放中继邮件服务器将很快被垃圾邮件发送者攻击。 他们总是在寻找可以滥用的邮件服务器。 永远不建议将您的邮件服务器放在互联网上 在开放中继。此外,您的邮件服务器将被列入黑名单 如果发现其他邮件服务器处于开放中继状态。
SMTP身份验证仍可限制为某些IP地址。许多ISP只允许您使用他们的邮件服务器 当你是他们的AND客户端连接到他们的邮件服务器 来自他们拥有的IP地址。所以事情将适用于您的电子邮件 您通过拨号连接到互联网时的应用程序 或者高速连接,但是一旦你离开了 由他们提供的连接,您将无法连接到 他们的服务器,更不用说Authenticate了。
即使您的ISP允许从您的邮件服务器运行的地址进行中继,也可能存在正常的防火墙或阻止 SMTP服务器通常配置为使用的端口。 25号港口。 如果Web服务器和邮件服务器之间存在防火墙,则为 必须配置为允许通过端口25的流量。
您可能在同一系统上配置了带有SMTP服务器的Web服务器。然而,它在端口25被阻止出站 通信。一些ISP阻止端口25来阻止病毒的流动 电子邮件。您需要确保提供的ISP 您的网络和SMTP服务器的互联网连接不是 阻止端口25。
答案 1 :(得分:1)
我认为这里还有其他的东西在起作用。从地址invalid
成功发送邮件是有意义的,但地址不是valid
。我会开始检查你的邮件服务器日志。这些应该显示接收邮件服务器是否接受从邮件服务器传递这些邮件。如果没有,日志可能会显示接收邮件服务器拒绝传递的原因。
交付失败的最可能原因是:
1)您的邮件服务器存在DNS问题。检查您的邮件服务器在HELO或EHLO中将自己标识为其他邮件服务器时是否提供了正确的名称,并检查此名称是否解析为您的邮件服务器的IP,以及您的邮件服务器的IP是否已撤消回到这个名字。
2)您的邮件服务器的IP被列入一个或多个垃圾邮件黑名单的黑名单。您可以检查http://mxtoolbox.com/blacklists.aspx
上的任何黑名单中是否未列出您的邮件服务器