Ubuntu 邮件发送成功,但未使用PHP邮件功能发送

Ubuntu 邮件发送成功,但未使用PHP邮件功能发送,ubuntu,php,terminal,Ubuntu,Php,Terminal,我使用php邮件功能发送邮件,当发送邮件时,会显示邮件已成功发送,但邮件未送达。我已经用gmail pop3/SMTP/Imap设置配置了我的服务器。我正在使用Ubuntu,下面是我的代码: <?php $name = "ali"; $email ="hello"; $message = "adasdasfasf"; $from = 'From: from@gmail.com'; $to = 'to@gmail.com'; $subjec

我使用php邮件功能发送邮件,当发送邮件时,会显示邮件已成功发送,但邮件未送达。我已经用gmail pop3/SMTP/Imap设置配置了我的服务器。我正在使用Ubuntu,下面是我的代码:

<?php
    $name = "ali";
    $email ="hello";
    $message = "adasdasfasf";
    $from = 'From: from@gmail.com'; 
    $to = 'to@gmail.com'; 
    $subject = 'Customer Inquiry';
    $body = "From: $name\n E-Mail: $email\n Message:\n $message";
        $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html\r\n";
    $headers = 'From: From: from@gmail.com' . "\r\n" .
    'Reply-To: From: from@gmail.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();




            if (mail ($to, $subject, $body, $from)) { 
                echo '<p>Your message has been sent!</p>';
            } else { 
                echo '<p>Something went wrong, go back and try again!</p>'; 
            }

    ?>

您的PHP代码不正确:

$headers .= "MIME-Version: 1.0\r\n";
在这里,首先将附加到一个变量$headers,该变量没有在前面设置(因此出现错误)

现在你扩展它

$headers = 'From: From: from@gmail.com' . "\r\n" .
现在,通过覆盖其内容,删除先前设置的标题,您可以再次丢弃所有内容

所以它不会发送,因为PHP代码会生成不完整的头

这更适用于StackOverflow,但代码可能应该是:

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html\r\n";
$headers .= 'From: from@gmail.com' . "\r\n" .

第一次使用$headers变量是:

$headers .= "MIME-Version: 1.0\r\n";
With.=它想将其添加到该变量的早期使用中,而您没有该变量。将该行更改为:

$headers = "MIME-Version: 1.0\r\n";

初始化它,然后请共享结果。

邮件服务器日志中有什么内容?phpMail函数我使用的是错误日志消息未定义变量:headers in/var/www/html/mailSend.php on line10@DeAlion这是Web服务器错误日志中的错误(如nginx/apache/lighttpd)。查看您的SMTP服务器错误日志。当使用常用的sendmail时,它通常位于
/var/log/mail.log
/var/log/maillog
下。如果您能写出正确的代码,它可能会重复。这将非常好,很有帮助,也很容易理解
$headers = "MIME-Version: 1.0\r\n";