Ubuntu 邮件发送成功,但未使用PHP邮件功能发送
我使用php邮件功能发送邮件,当发送邮件时,会显示邮件已成功发送,但邮件未送达。我已经用gmail pop3/SMTP/Imap设置配置了我的服务器。我正在使用Ubuntu,下面是我的代码: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
$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";