PHP Mail 函数和 Sendmail

PHP Mail 函数和 Sendmail

我正在尝试让 PHP mail() 函数工作。但它无法发送电子邮件。我运行的是 Ubuntu 11.04。我安装了 sendmail。

我打开了 php.ini 并设置

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = /usr/sbin/sendmail -t
sendmail_from = [email protected]

然后我重新启动了 apache。

然后创建了一个简单的 PHP 脚本来测试它,但没有成功。

当我尝试运行 sendmail 时,它给出了权限错误,因此我必须运行“sudo sendmail”。我的邮件系统故障与权限有关吗?我需要对 sendmail 进行进一步配置吗?

谢谢。

编辑:错误是这样的:

user@server:~$ sendmail
Command 'sendmail' is available in '/usr/sbin/sendmail'
The command could not be located because '/usr/sbin/' is not included in the PATH
environment variable. This is most likely caused by the lack of administrative
privileges associated with your user account.
sendmail: command not found
user@server:~$ sudo sendmail
sendmail: No recipients supplied - mail will not be sent

答案1

尝试将您的用户添加到邮件组,如下所示:

sudo adduser yourusername mail

如果您在 HTTP 服务器(例如 Apache)中使用 PHP,则需要执行以下操作:

sudo adduser www-data mail

除了实际问题之外 - 如果您的邮件需求仅限于个人/本地开发 - 我强烈推荐 ssmtp。

答案2

我做了这个

sudo apt-get 安装 postfix

现在一切都运行正常。显然,Sendmail 不是答案。Postfix 才是。

相关内容