PHP可以从命令行发送电子邮件而不是浏览器

时间:2016-05-30 04:09:54

标签: php

我在homepage设置了一个表单。当有人提交表单时,它会将它们重定向到向我发送表单的php脚本。唯一的问题是,当我使用浏览器时,表单不会向我发送任何内容。我有一个在同一台服务器上运行的脚本,当我从命令行执行时,立即发送一封电子邮件。当我转到page in a browser时,它会发出确认消息,但不会发送任何内容。发生了什么?如果有帮助,PHP正在使用MSMTP发送电子邮件。我相信 apache以root身份运行(我知道这很糟糕)。我该如何检查?

如果有人想要,请输入以下代码:

<?php 
    ini_set( 'display_errors', 1 );
    error_reporting( E_ALL );
    $from = "mailbot@prototypexenon.tech";
    $to = "<MYEMAIL>";
    $subject = "PHP Mail Test script";
    $message = "This is a test to check the PHP Mail functionality";
    $headers = "From:" . $from;
    mail($to,$subject,$message, $headers);
    echo "Test email sent";
?>
编辑:显然,新服务器所有者非常聪明,不能让apache以root身份运行。全部修复了。谢谢@EdHeal

2 个答案:

答案 0 :(得分:1)

通过命令行运行的PHP和通过Web服务器运行的PHP可以使用完全不同的php.ini文件。运行phpinfo()并查看每种情况下使用的php.ini文件。可能其中一个没有正确配置SMTP。

答案 1 :(得分:0)

显然,新服务器所有者非常聪明,不能让apache以root身份运行。全部修复了。谢谢@EdHeal