发送多封电子邮件php,但只是到达第一个收件人

时间:2012-10-27 19:24:02

标签: php email notifications sendmail

基本上我需要通知某些用户应用程序中发生的事情。 我带来了数据库中的用户,一切正常,但是当我发送电子邮件时,只有列表中的第一个收到它,我尝试切换它们带来的顺序,但仍然不是特定的邮件客户端。

我尝试逐个发送,然后将所有内容一起发送,似乎都不起作用。

之前有过这种情况吗?我正在使用一些亚马逊服务器,使用linux,但它是客户端的客户端服务器,所以我不能真正地把头脑全部放在配置上。

$ul = $this->q2ar("SELECT * FROM usr WHERE role_id in(1,7)");
//get admins from db
$ntf = '';
foreach($ul as $usr){
    $headers  = 'MIME-Version: 1.0 '." \r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . " \r\n";
    $headers .= 'From: Centinelas <centinelas@serviciochevrolet.com.ec>' . "  \r\n";
    $body = "mail content";
    $ntf .= "'".$usr['email']."'".', ';
}
$ntf = substr_replace($ntf ,"",-2);
$ml = mail($ntf,'Nuevo Caso en Centinelas Chevrolet',$body,$headers,'- fcentinelas@serviciochevrolet.com.ec');
return('email where sent to :<br/>'.$ntf);

2 个答案:

答案 0 :(得分:0)

尝试向一个人发送电子邮件,例如您自己或发件人,然后使用抄送发送给其他人。

$ul = $this->q2ar("SELECT * FROM usr WHERE role_id in(1,7)");
foreach($ul as $usr){
    $ntf[] = $usr['email'];
}

$headers  = 'MIME-Version: 1.0 '." \r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . " \r\n";
$headers .= 'From: Centinelas <centinelas@serviciochevrolet.com.ec>' . "  \r\n";
$headers .= 'Cc: '.join($nft,",") . "  \r\n";
$body = "mail content";

$ml = mail('centinelas@serviciochevrolet.com.ec','Nuevo Caso en Centinelas Chevrolet',$body,$headers,'- fcentinelas@serviciochevrolet.com.ec');
return('email where sent to :<br/>'.join($nft,","));

答案 1 :(得分:0)

整个使用抄送:字符串。

foreach($ul as $usr){
    $ntf .= (($ntf=="")?"":", ")."'".$usr['email']."'";
}

$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Additional headers
$headers .= 'To: Centinelas <centinelas@serviciochevrolet.com.ec>' . "\r\n";
$headers .= 'From: Centinelas <centinelas@serviciochevrolet.com.ec>' . "\r\n";
$headers .= 'Cc: '.$ntf.'' . "\r\n";

你必须向HEADERS添加$ ntf“CC:”(为清楚起见,通常可以将邮件发送给发件人)