PHP邮件功能不发送邮件

PHP邮件功能不发送邮件,php,email,function,Php,Email,Function,我想通过PHP邮件功能发送som html邮件 所以我有这个: $to = "mail@mail.sk"; $from = "mail@mail.sk"; $subject = "Some subject" $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $headers .= "From: $from"

我想通过PHP邮件功能发送som html邮件

所以我有这个:

$to = "mail@mail.sk";  
$from = "mail@mail.sk";   
$subject = "Some subject"  
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";   
$headers .= "From: $from" . "\r\n";   
$headers .= "Return-path: $from" . "\r\n";    
$headers .= "Bcc: $from\r\n";  
$message = "some html"; 
mail($to, $subject, $message, $headers);
但如果我测试它,它总是不发送邮件:

if (mail($to, $subject, $message, $headers)) {echo "Sent";}
else {echo "Didnt send";}

我总是收到没有发送的错误消息。有什么问题吗?

检查PHP错误日志。它可能有更多关于失败的细节。通常,直接邮件()失败是由于配置错误的SMTP服务器设置,或者根本没有SMTP服务器

如果SMTP服务器拒绝电子邮件,它也可能失败,因此请检查SMTP服务器日志,看看它是否在抱怨邮件设置中的某些内容

除此之外,不要将mail()用于mime格式的电子邮件。用或之类的东西为你做这件事。它们更加可靠,并且在发生故障时提供更好的诊断错误信息。

  • 检查所有VAR是否已填充。如果是的话
  • 将错误和警告报告打开
  • 如果没有,请检查日志是否显示任何信息
  • 测试邮件是否到达其他地址。比如gmail账户
  • 如果没有,请检查服务器和SMTP设置
  • 如果全部失败,请尝试使用(外部)SMTP

您能记录它发出的错误吗?这可能与您的呼叫或SMTP服务器中的变量有关。更倾向于前者。您的服务器是否配置为发送邮件?您是起诉专用服务器还是共享服务器?某些提供商博客邮件发送您是否正在本地主机或在线Web服务器上进行尝试?邮件服务器上是否有您可以检查的日志?可能是它拒绝了消息(在这种情况下,代码工作正常)。谢谢您的建议!问题解决了。服务器阻止所有具有密件抄送的邮件()。如果您的服务器管理员无法解决此问题,请将swiftmailer与外部SMTP一起使用。