我需要用PHP从我的网站发送电子邮件。我怎么能这样做?

时间:2015-11-06 13:27:01

标签: php email unix centos shell-exec

我需要通过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函数,而是使用替代

1 个答案:

答案 0 :(得分:0)

大多数框架得出的结论是mail()不是发送邮件的好方法。大多数框架现在做的是open a socket并直接通过所述套接字传递邮件命令。这就是为什么使用PHPMailerZend Framework 2(不要求您使用整个框架)之类的原因。这是一个更清洁的整体解决方案。

您的Web服务用户可能没有权限使用内置Linux客户端。这很可能是shell命令无法工作的原因。我强烈建议避免使用shell命令并禁用它们,因为它们是安全风险。