Sendmail不会发送到同一个域

我在我的web服务器上使用sendmail,到目前为止工作正常。 但是,当我发送电子邮件到我发送他们的同一个域名,他们从来没有得到交付。 我暂时将我的应用程序中的电子邮件信息更改为另一个域,此时它发送到我的域邮件帐户没有问题。

// does not work $from = '[email protected]' $to = '[email protected]' // works fine $from = '[email protected]' $to = '[email protected]' 

此外,运行的服务器是一个单独的服务器,具有设置邮件帐户和域的服务器。 (+我在Linux上)

sendmail使用默认configuration。

我试过用下面的命令testing,但是我似乎得到了一堆未经validation的发送错误。 当我用我的gmail帐户来做这件事的时候,它通过了OK。

 echo -e "To: [email protected]\nSubject: Test\nTest\n" | sendmail -bm -t -v 

编辑

事实certificate,它只是需要它的电子邮件地址来存在。 有什么办法可以绕过这个吗?

正如你已经发现你自己,这是因为发送地址是无效的。

大多数邮件服务器在接受电子邮件时会检查一个域是否有效,但通常不会尝试和validation实际地址。 (有些邮件服务器会假装地址是存在的,即使它不停止自动化系统build立一个有效地址列表)

但是,您自己的邮件服务器知道noreply @不是有效的地址,所以会拒绝邮件。

最简单的方法是将noreply @设置为有效地址,并放弃发送给它的电子邮件。 在UNIX / Linux上,通常只需将地址指向传递到/ dev / null的别名中的某个条目即可。

没有任何进一步的信息,我猜你的本地smtp守护进程被错误地configuration,并将邮件发送到@ mydomain.com在本地,而不是转发上游。 如果你想得到更详细的答案,可以将你的完整mailserverconfiguration添加到你的文章中。

您的smtp服务正在使用您的内部dns,它不会将@ mydomain.com发送到已获取MXlogging的Web NS。 如果您从该networking服务器ping您的mydomain.com它可能显示您的IIS内部地址。 我添加相同的问题,在我的情况下,因为它是一个独立的服务器,没有其他服务,我把一个像8.8.8.8的networking静态DNS来testing理论,它的工作。 (假设你在一个Windows服务器上)