0

我收到了一个不发送任何电子邮件的邮件脚本(作为更大 CMS 的一部分)。而且我一生都无法弄清楚为什么它不发送任何电子邮件。我添加了更多错误处理(我在其他问题上发现的)并检查了我的错误日志但无济于事。

这是代码,出于隐私考虑,我删除了代码的bodytitle。但是,问题不存在,因为我尝试仅使用纯文本发送它。

<?php include '../includes/header.php' ; ?>
<link rel="stylesheet" type="text/css" href="/vidvdcms/css/formstyle.css" />
<?php

// For testing only
error_reporting(E_ALL);

$result =  mysql_query("SELECT * FROM klant, bestellingen WHERE klant.klant_id LIKE '".$_GET['mail']."' ORDER BY bestellingen.order_id DESC LIMIT 1") or die(mysql_error());
while($row = mysql_fetch_array($result)){

// multiple recipients

$to = ''.$row['email'].'';
$name = '' . $row['voornaam'] . ' ' . $row['achternaam'] . ''; 

// subject
$subject = 'REDACTED - SUBJECT OF EMAIL';

// message
$message = 'REDACTED - BODY OF MAIL WITH HTML/GETS';

}


$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: XXXX <XXX@emaple.com>' . "\r\n";
$headers .= 'Bcc: XXX@gmail.com' . "\r\n";

// Mail it
mail($to, $subject, $message, $headers);

print "REDACTED - Email sent succesful message"; 

mysql_close($link)
?>

编辑:我已经三次检查了代码,它似乎工作正常。我尝试了一个在网上找到的简单邮件脚本,但也没有发送. 我在另一台服务器上尝试过,它发送了。所以我认为是服务器?我该如何检查?我接下来要尝试什么?

4

1 回答 1

0

假设您的问题是关于如何正确调试:

从哪里开始启用所有 PHP 日志记录:

ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL);

然后看看你在屏幕上得到了什么。

您还需要在邮件服务器上找到日志并查看其中是否有任何消息。

如果这没有帮助,请让Xdebug工作并在您的 IDE 中逐行执行代码(Google for Xdebug setup instructions for your specific IDE),看看所有变量是否符合您的预期。

如果您需要解决此问题的具体帮助,则需要粘贴上述步骤的一些错误输出。

于 2012-07-02T12:28:11.327 回答