没有 Sendmail,但有 ISPConfig Postfix

没有 Sendmail,但有 ISPConfig Postfix

这是 php 使用 php mail() 函数发送 php 邮件的方法:

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").                                                                                                                                   
; http://www.php.net/manual/en/mail.configuration.php#ini.sendmail-path 


sendmail_path = /usr/sbin/sendmail -t -i  //sendmail command to send mail

但它没有将邮件发送给收件人,我在邮件日志中收到以下内容:

Dec  1 12:52:09 srvload1 postfix/qmgr[25215]: D3982162BB6: from=<[email protected]>, size=524, nrcpt=1 (queue active)
Dec  1 12:52:09 srvload1 postfix/qmgr[25215]: warning: connect to transport private/[127.0.0.1]: No such file or directory
Dec  1 12:52:09 srvload1 postfix/error[25563]: D3982162BB6: to=<[email protected]>, relay=none, delay=0.03, delays=0.03/0/0/0, dsn=4.3.0, status=deferred (mail transport unavailable)

警告:连接到传输私有/[127.0.0.1]:?它会排队。它不发送。

我的服务器管理员告诉我我们没有安装 sendmail,我不想让它安装在服务器上,它可能会中断我们的服务。

有没有一种方法可以在不使用sendmail的情况下发送php mail()?服务器运行 ISPConfig CentOS Postfix 和我认为 Procmail

[root@srvload1 ~]# which procmail
/usr/bin/procmail

[root@srvload1 ~]# cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m

答案1

这里似乎有很多错误的假设,但简短而尖锐的答案是您的 Postfix 配置已被破坏,需要更正。

根据您提供的信息,我无法告诉您具体方法。也许更新您的问题以包含 Postfix 配置中的相关片段(或者发布一个新的、更有针对性的问题,然后删除这个问题)。基本上,我们需要查看您的任何非标准内容/etc/postfix/master.cf,尤其是涉及private/[127.0.0.1]运输的任何内容。其他传输配置也可能对上下文有用。

您不需要安装 Sendmail,但确实需要具有用于发送邮件的工作配置。

/usr/sbin/sendmail实际上是一个 Postfix 兼容性包装器,它实现了基本的 Sendmail 功能。由于遗留原因,sendmail尽管 Sendmail MTA 不再是主导或标准 M​​TA,但它的规范名称仍然是 。

Procmail 与外发邮件无关(除非您有非常自定义的配置,在这种情况下您应该记录它)。

相关内容