我需要通过PHP从我的网站发送电子邮件。按要求,我不能使用内置的mail()PHP函数(所以没有sendmail)。我下载了邮件'在我的unix服务器上并通过PHP中的函数应该能够连接以便发送电子邮件。 PHP代码如下:
<?php
function sendMail() {
shell_exec("echo mymessage | mail -s mysubject myreal@email.com");
}
?>
不幸的是它不起作用,但是如果我在unix终端中运行该命令(该机器是Centos 7),它可以工作。我也试过了system()和exec()PHP函数,但没有成功。我该怎么做这个工作? 感谢
编辑: 这个问题不一样。我不能使用mail()PHP函数,而是使用替代
答案 0 :(得分:0)
大多数框架得出的结论是mail()
不是发送邮件的好方法。大多数框架现在做的是open a socket并直接通过所述套接字传递邮件命令。这就是为什么使用PHPMailer或Zend Framework 2(不要求您使用整个框架)之类的原因。这是一个更清洁的整体解决方案。
您的Web服务用户可能没有权限使用内置Linux客户端。这很可能是shell命令无法工作的原因。我强烈建议避免使用shell命令并禁用它们,因为它们是安全风险。