最近,我的Linux服务器sendmail程序停止工作,每次我发送一封电子邮件,我得到这个错误:
警告 :mail()[function.mail]:无法在/var/www/includes/Swift-4.0.6/lib/classes/Swift/Transport/SimpleMailInvoker.php中执行邮件递送程序“/ usr / sbin / sendmail”在线50
现在,我浏览了我的web应用程序,当然这里没有问题。 所以,问题在于执行sendmail。 它曾经工作之前,所以我不知道为什么它会突然停止,我不记得做任何服务器更改。 我也尝试重新安装sendmail,但我仍然得到相同的错误。
我注意到的一件事是在/ usr / sbin /中没有名为sendmail的文件。 但是,在/ usr / sbin /中有一个名为sendmail的整个文件夹,里面有可执行文件和sendmail文件(sendmail.8,sendmail.h和sendmail.0文件存在)。 他们的执行权限也设置好。 这有什么好担心的吗?
有关如何解决这个问题的任何build议?
提前致谢。
不知何故,你的安装很糟糕。
在Unix上传统的程序存在于/ usr / sbin / sendmail $中,它作为本地MTA的一个接口。 这个MTA现在很less是sendmail,但是其他的MTA有一个兼容的程序在这里安装。
sendmail.h将作为sendmail的源代码的一部分,而sendmail.0和sendmail.8将成为手册页,所以看起来你已经在/ usr / sbin中获得了正确的sendmail的源代码
你需要清理这个,并得到一个适当的sendmail程序到/ usr / sbin / sendmail来修复php。 既然你没有告诉我们这个发行版本,也没有告诉你实际使用的是哪个MTA,那么没有其他人可以帮助你。
$ =其实是/ usr / lib / sendmail和/ usr / bin / sendmail以及/ usr / sbin / sendmail中的一个或多个,程序将search这些path,或者将一个或多个硬编码到它们中,时间。 它看起来像你的程序使用/ usr / sbin / sendmail。 无论如何,MTA的安装都可以做到。