使用shell_exec发送电子邮件失败

时间:2016-04-17 22:22:09

标签: php linux shell email permissions

我一直在努力从我的php项目发送电子邮件好几天。我想我得到了一些东西,但它没有用。

这是我做的: 我首先使用以下命令安装mailutils:

sudo apt-get install mailutils

有了它,我可以发送电子邮件给自己(通过shell)。 我使用以下命令向自己发送了一封电子邮件,并且它工作!!!!

mail -s subject mymail888@gmail.com <<< message

但在我的php项目中,这行不起作用:

shell_exec("mail -s subject mymail888@gmail.com <<< message");

我认为这与我的项目的权限有关,但我不知道如何更改mail命令的权限。

1 个答案:

答案 0 :(得分:1)

除非你有令人信服的理由,否则你应该使用PHP内置的mail()函数。如果你需要的不仅仅是mail()的基本功能,而且主要是大多数具有电子邮件发送功能的CMS和框架,只需要包装mail()功能。

话虽如此,我不知道您的环境设置是什么样的,所以请尝试使用system()passthru()exec()中的一个,这会接受不同数量的附加错误 - 可以转储/回显的代码和输出参数,以查看运行任意命令行命令时实际错误是什么。