Postfix sendmail -bs 没有显示输出 - 权限?

Postfix sendmail -bs 没有显示输出 - 权限?

当我sendmail -bs以 root 身份运行该命令时,我得到了预期的输出:

$ sudo sendmail -bs
220 mydomain.com ESMTP Postfix
ehlo localhost
250-mydomain.com
250-PIPELINING
250-SIZE 15728640
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

但是当我在没有 sudo 的情况下运行相同的命令时,我根本没有得到任何输出,并且 sendmail 不会响应任何命令:

$ sendmail -bs
ehlo localhost
quit
wtf
^C
$ 

如何配置 Postfix 以便 sendmail 适用于每个用户(或至少适用于某些特定用户)?我需要这个,因为 PHP 的 SwiftMailer 用于sendmail -bs发送邮件,当它找不到任何输出时会失败。

答案1

据记载sendmail -bs是通过运行smtpd(8)守护进程来实现的。
由于这绑定到端口 25,因此需要 root 权限。

考虑使用 SwiftMailer 与其他发送选项之一,例如批处理模式或 SMTP 模式。

正如文档所述,sendmail -bs除非您以个性化方式运行它,否则它不会像“真正的” postfix SMTP 服务器一样运行mail_owner

与批处理模式相比,SMTP 模式的唯一优势是它允许您通过 postfix 的访问控制来运行消息。由于您无法按照当前使用的方式执行此操作,因此请改用批处理模式。

相关内容