【问题标题】:PHP mail function requirementsPHP邮件功能要求
【发布时间】:2013-08-31 06:24:53
【问题描述】:

我正在阅读 PHP 文档:

要求 要使 Mail 函数可用,PHP 必须在编译期间可以访问系统上的 sendmail 二进制文件。如果您使用其他邮件程序,例如 qmail 或 postfix,请务必使用它们附带的适当的 sendmail 包装器。 PHP 将首先在您的 PATH 中查找 sendmail,然后在以下位置查找:/usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib。强烈建议从您的 PATH 中获取 sendmail。此外,编译 PHP 的用户必须有权访问 sendmail 二进制文件。

我的问题是他们所说的 POSTFIX 的 sendmail 包装器是什么?通常当我用 yum 安装 POSTFIX 时,邮件功能才开始发送邮件?还有什么比这更重要的吗?

提前致谢...

【问题讨论】:

    标签: php postfix-mta


    【解决方案1】:

    在大多数情况下,您不需要再做任何事情。只需尝试这样的示例邮件脚本。如果它不起作用,请在您的 php.ini 中添加 sendmail_path = /etc/postfix

    <?php
    $to = "someone@example.com";
    $subject = "Test mail";
    $message = "Hello! This is a simple email message.";
    $from = "someonelse@example.com";
    $headers = "From:" . $from;
    mail($to,$subject,$message,$headers);
    echo "Mail Sent.";
    ?>
    

    【讨论】:

    • /etc/postfix 与 /usr/sbin/sendmail.postfix 有何不同?
    • 我正在查看 main.cf,我看到 sendmail_path = /usr/sbin/sendmail.postfix。不是需要添加到php.ini中的那个路径吗?
    • 您应该先执行该代码。如果有任何错误,请在此处发布错误。我们可以找到解决方案
    • 好的。我只是说我的工作服务器在 php.ini 中有一个 sendmail_path = /usr/sbin/sendmail -t -i。那么这一定是兼容的 MTA 吗?
    • 是的。我检查了一些论坛` /usr/sbin/sendmail -t -i ` 为某些人工作。所以试试吧
    猜你喜欢
    • 2012-02-27
    • 2015-02-08
    • 1970-01-01
    • 1970-01-01
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-25
    相关资源
    最近更新 更多