Php 邮件函数总是调用else部分

Php 邮件函数总是调用else部分,php,email,Php,Email,我有两个域名。例如和 我正在使用邮件功能发送测试邮件 我能够从发送电子邮件,我得到了成功,但我使用相同的代码,我没有收到电子邮件,它总是调用其他部分 测试邮件 <?PHP $sender = 'xxx@xx.com'; $recipient = 'zzz@zz.com'; $subject = "php mail test"; $message = "php test message"; $headers = 'From: ' . $sender . "\r\n"; $headers .

我有两个域名。例如和

我正在使用邮件功能发送测试邮件

我能够从发送电子邮件,我得到了成功,但我使用相同的代码,我没有收到电子邮件,它总是调用其他部分

测试邮件

<?PHP
$sender = 'xxx@xx.com';
$recipient = 'zzz@zz.com';

$subject = "php mail test";
$message = "php test message";
$headers = 'From: ' . $sender . "\r\n";
$headers .= "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/html;charset=UTF-8" . "\r\n";

if (mail($recipient, $subject, $message, $headers))
{
    echo "Message accepted";
}
else
{
echo "Error: Message not accepted";
$errorMessage = error_get_last()['message'];
echo $errorMessage;
}
?>

使用以下命令检查example2.com上是否启用了邮件功能:

if ( function_exists( 'mail' ) )
{
    echo 'mail() is available';
}
else
{
   echo 'mail() has been disabled';
}

如果禁用,请通过php.ini或在cPanel中启用它。

试试这个简单的php邮件功能

$to      = $email_id;
$subject = "";
$message = "Your mail Body Content. you also use here HTML Tags for better performence. ";
$headers = 'From: xyz@domainname.com' . "\r\n" .
  'Reply-To: xyz@domainname.com' . "\r\n" .
  'X-Mailer: PHP/' . phpversion();
$headers.= "MIME-Version: 1.0" . "\r\n";
$headers.= "Content-type:text/html;charset=UTF-8" . "\r\n";

if(mail($to, $subject, $message, $headers)){
   echo "Message accepted";
}else{
   echo "Error: Message not accepted";
}
From标头无效,因为下一个标头紧跟在其后:

$headers = 'From:' . $sender;
$headers .= "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
应该是这样的:

// add \r\n
$headers = 'From: ' . $sender . "\r\n";
$headers .= "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/html;charset=UTF-8" . "\r\n";

$headers.=MIME版本:1.0\r\n;您忘记连接$headers您将不得不提供某种类型的错误,以便我们帮助您。并且From位在头字符串中被覆盖,没有使用。=对于MIMEYes,我更新了仍然相同的问题@smoqadam感谢您的通知。@rkeet,我用$errorMessage=error\u get\u last['message']更新代码;但它没有显示任何错误。我收到的唯一回显错误:消息未被接受;让你试试我做了什么我只是注释了我的if-else条件并添加了你的代码来检查,我得到了我的输出是邮件可用。你检查了服务器或服务器文档根上的错误日志吗?你能帮我检查一下吗?谢谢你的回复,它仍然显示其他部分。但是相同的代码适用于我的第一个域。您的表单电子邮件id属于同一个域还是不同的域?是的,它属于同一个域。我也尝试过与其他人的问题可能是与您的托管提供商。您可以只联系一次托管提供商支持团队吗?您可以强调差异吗?到底需要将什么从原始代码更改为您的代码才能使其工作?感谢您的通知,我尝试了,但仍然遇到相同的问题。