我有这个功能:
function sendEmail ($to, $id, $from='n', $link='n') {
//retrieve message from system
$where = "id = '".$id."'";
$resource = dbSelect (TMAIL, $where);
if ($resource[0] !== 1) {
return "Error sending email";
}
$subject = $resource[1]['subject'];
$body = $resource[1]['body'];
//create and send email
if ($link !== "n") {
$body = $body.' <a href="'.$link.'">'.$link.'</a>';
}
if ($from == 'n') {
$from = ADMIN;
}
mail ($to, $subject, $body, $from);
//deubug
//print_r($resource);
//echo $from;
//echo $to;
//echo $subject;
//echo $body;
//echo $link;
}
像这样被召唤:
//send instructions
$f_error['failure'] = sendEmail ($email, "1", ADMIN, $link);
$f_error['failure'] = sendEmail (ADMIN, "2");
在上述情况下,第一次调用sendEmail似乎没有做任何事情,第二次调用发送两次。我已经检查了发送给函数的变量/常量和代码本身,并且找不到解释这种行为的任何内容。
有人可以建议阻止这种情况发生的原因吗?
答案 0 :(得分:0)
一些事情:
如果ID是数字,请不要将其放在引号中
“ADMIN”不是有效的电子邮件地址(除非您在本地投放)
查看http://uk3.php.net/manual/en/function.mail.php - 您设置'from'标题的方式看起来不正确。
答案 1 :(得分:0)
发现问题 - 第一封邮件进入我的垃圾邮件而第二封邮件没有。我假设两者最终会在同一个文件夹中。