我在我的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服务器上)