PHP邮件()函数不工作 – 看起来像exim是由于某种原因拒绝

我已经testing了另一台服务器上的脚本,它工作正常。

当我检查进出口日志有很多像这样的行,

User 0 set for local_delivery transport is on the never_users list 

很多这样的

 routing defer (-51): retry time not reached 

甚至有些像这样

 R=lookuphost T=remote_smtp defer (-44): SMTP error from remote mail server after RCPT TO: 

我很难说实话。

从webmail / outlook等发送邮件时,所有的邮件都没问题! 我有充分的SSH和根访问,因为这是一个VPS。 任何帮助将非常感激

Exim试图将邮件传送到远程SMTP主机,并失败。 这是什么:

 R=lookuphost T=remote_smtp defer (-44): SMTP error from remote mail server after RCPT TO: 

线意味着。 它将这些邮件排队等待重试,并通过mailq跳过,看是否应该尝试重新发送这些邮件。 它不会立即尝试,必须达到预定的超时时间。 这导致:

 routing defer (-51): retry time not reached 

最后,当最大的重新传递尝试失败时,它会尝试传递一个邮件给postmaster(默认情况下,这个邮件被configuration为root)。 但是,默认的eximconfiguration是永远不会传递给root的,所以你得到:

 **User 0 set for local_delivery transport is on the never_users lis**t 

这里有两个问题:

首先:exim不能传递给这个特定的SMTP服务器。 目标SMTP服务器中断,或者Exim无法传递到任何SMTP服务器。 Exim是否将邮件发送到其他域的地址? 你可以在命令行上用下面的方法testing它:

 /path/to/exim -v 'email@example.com' message here ^D ( control D ) 

其次,你没有一个有效的方法来将失败报告给你。 configuration你的/etc/aliases文件,以确保postmaster和其他帐户正确的别名到一个真实的地址。