使用shellexec发送电子邮件失败


using shell_exec to send email fail

几天来,我一直在努力从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命令的权限。

除非你有令人信服的理由不这样做,否则你真的应该使用PHP内置的mail()函数。如果您需要mail()的基本功能之外的任何东西,可以说,总的来说,大多数CMS和具有电子邮件发送功能的框架都只需要包装mail()功能。

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