PHP函数发送一些邮件,而不是其他邮件

时间:2010-10-04 12:53:32

标签: php email

我有这个功能:

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似乎没有做任何事情,第二次调用发送两次。我已经检查了发送给函数的变量/常量和代码本身,并且找不到解释这种行为的任何内容。

有人可以建议阻止这种情况发生的原因吗?

2 个答案:

答案 0 :(得分:0)

一些事情:

  • 如果ID是数字,请不要将其放在引号中

  • “ADMIN”不是有效的电子邮件地址(除非您在本地投放)

  • 查看http://uk3.php.net/manual/en/function.mail.php - 您设置'from'标题的方式看起来不正确。

答案 1 :(得分:0)

发现问题 - 第一封邮件进入我的垃圾邮件而第二封邮件没有。我假设两者最终会在同一个文件夹中。