【问题标题】:I need to send email from my website in PHP. How can I do this?我需要用 PHP 从我的网站发送电子邮件。我怎样才能做到这一点?
【发布时间】:2016-02-07 15:58:38
【问题描述】:

我需要用 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 函数,而是一个替代方法

【问题讨论】:

  • 试试 PHPMailer 之类的?
  • 谢谢。我使用了 PHPMailer,它工作正常。我不明白为什么我的问题如此消极......

标签: php email unix centos shell-exec


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2016-11-04
    • 2022-11-09
    • 2021-08-24
    • 2014-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 2021-11-25
    相关资源
    最近更新 更多