当我以root身份运行sendmail -bs命令时,我得到了预期的输出:
$ 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 $
我怎样才能configurationPostfix,使sendmail适用于每个用户(或者至less对于某些特定的用户)? 我需sendmail -bs ,因为SwiftMailer for PHP使用sendmail -bs发送邮件,当它找不到任何输出时失败。
如文档所述 , sendmail -bs通过运行smtpd(8)守护程序来实现。
由于这绑定到端口25,它需要root权限。
考虑使用SwiftMailer而不是其他发送选项之一,如批处理模式或SMTP模式。
还有文档记载,除非使用mail_owner个性运行它,否则sendmail -bs将不会像“真正的”后缀SMTP服务器。
与批处理模式相比,唯一的优势是SMTP模式允许您通过postfix的访问控制来运行消息。 由于您无法按照当前使用的方式进行操作,因此请使用批处理模式。