我有这样的功能:PHP函数发送某些邮件,不是别人
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第一次调用似乎没有做任何东西和第二次被发送两次。我已经检查了发送给函数和代码本身的变量/常量,并且没有发现可以解释这种行为。
任何人都可以提出什么可以防止这个工作?
为什么您的邮件功能需要一个ID? – Jordy 2010-10-04 12:54:41
什么是ADMIN?是定义变量? – 2010-10-04 12:56:07
@Jordy id从CMS邮件管理器中获取邮件。 @Haim ADMIN是一个设置管理员电子邮件地址的常量。 – YsoL8 2010-10-04 13:00:43