PHP如何使用mail()发送邮件没有sendmail?

时间:2014-11-20 17:15:44

标签: php email sendmail

好的,我有一个简单的脚本,通过PHP的邮件功能发送电子邮件,如下所示:

<?php mail('foo@example.org', 'Subject', 'This is a message', array('From' => 'bar@example.org', 'To' => 'foo@example.org', 'Subject' => 'This is a message')); ?>

在Synology DS212j(使用BusyBox的基于Linux的NAS上运行大多数常见的shell命令)上运行时效果非常好,但据我所知,我找不到sendmail的任何实例,并且未启用BusyBox sendmail。实际上,如果我使用ini_get("sendmail_path"),则会返回" -t -i"的值。

有一个MAIL=/var/mail/root的环境变量,但这也没有做任何事情(没有/var/mail)。

所以我完全不知道PHP实际上是如何发送电子邮件的,所以我希望有人知道。我在另一个平台上(在同一个网络 sigh 上)遇到PHP sendmail时遇到问题,所以如果我可以使用与我的NAS相同的机制那么它可以使事情变得更容易

1 个答案:

答案 0 :(得分:3)

如果您的系统上有 qmail postfix ,并且他们配置了sendmail包装器,则可以配置PHP以使用这些包。否则sendmail二进制文件必须在系统上,以便php使用mail()函数发送电子邮件。

参考:http://php.net/manual/en/mail.requirements.php