我收到了一封不发送任何电子邮件的邮件脚本(作为更大的CMS的一部分)。我不能为我的生活弄清楚为什么它不发送任何电子邮件。我添加了一些错误处理(我在其他问题上找到)并检查了我的错误日志但无济于事。
这是代码,我删除了隐私代码的body
和title
。但是,问题不在那里,因为我尝试用纯文本发送它。
<?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)
?>
编辑:我已经对代码进行了三次检查,看起来效果很好。我尝试了一个在线发现的简单邮件脚本,没有发送。我在另一台服务器上试了一下,发送了。所以我认为这是服务器?我该如何检查?我接下来会尝试什么?
答案 0 :(得分:0)
假设您的问题是关于如何正确调试:
从哪里开始将启用所有PHP日志记录:
ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL);
然后看看你在屏幕上看到了什么。
您还需要在邮件服务器上找到日志,看看是否有任何邮件。
如果这样做无效,请让Xdebug正常工作,并在IDE中逐行执行代码(Google针对特定IDE的Xdebug设置说明),以查看是否所有变量都符合您的预期。
如果您需要解决此问题的特定帮助,则需要粘贴上述步骤中的一些错误输出。