PHP邮件功能不发送邮件

时间:2012-01-04 14:36:29

标签: php email function

我有som html邮件,我想通过PHP Mail函数发送,

所以我有这个:

$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";}

我总是得到Didnt发送,没有错误消息。什么可能是错的?

2 个答案:

答案 0 :(得分:1)

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

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

除此之外,不要将邮件()用于mime格式的电子邮件。使用PHPMailerSwiftmailer之类的内容为您完成此操作。当事情爆发时,它们更可靠,并提供更好的诊断错误信息。

答案 1 :(得分:0)

  • 检查是否所有变量都已填满。如果是这样..
  • <?php error_reporting(E_ALL); ?>
  • 上启用错误和警告报告
  • 如果没有,请检查您的日志是否显示任何信息。
  • 测试邮件是否到达其他地址。例如一个Gmail帐户。
  • 如果没有检查您的服务器和SMTP设置。
  • 如果全部失败,请使用(外部)SMTP尝试swiftmailer