Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal tudo bem?
Fiz um código para enviar e-mail a todos os usuários com acesso de administrador que vem do banco de dados mais a pessoa que abriu o chamado que vem da SESSION. Porem quando eu mando enviar ele esta enviando apenas para o primeiro e-mail do array que estou percorrendo com um FOR.
Alguém sabe onde esta meu erro?
function enviarEmail($Chamado) {
// Busca todos os usuarios administradores.
$UsuarioDAO = new UsuarioDAO();
$arrAdmUsuario = $UsuarioDAO->admUsuario();
//Conta quantos usuarios vieram no array.
$count = count($arrAdmUsuario);
/**
* Confere se a sessao nao esta vazia, nula ou indefinida.
* Pega esse mesmo array de usuarios e acrescenta o usuario que esta logado atraves dos dados que estao na sessao.
*/
if( $_SESSION!='' && !is_null( $_SESSION ) && $_SESSION!='undefined' ){
$arrAdmUsuario[$count++]['des_email_usuario'] = $_SESSION['des_email_usuario'];
$arrAdmUsuario[--$count]['nom_usuario'] = $_SESSION['nom_usuario'];
}
// Conta novamente o tanto de usuario que tem no array.
$count = count($arrAdmUsuario);
/**
* Cria um loop onde a condição é o $i ser maior que a numero de usuários do array
* Para cada loop ele envia um e-mail com o e-mail do array
* Enviado ou não ele da um sleep() de 20 segundos
*/
for ($i = 0; $i < $count; $i++) {
$Email = new PHPMailer();
$Email->SetLanguage("br");
$Email->IsSMTP();
$Email->Host = "smtp.dominio.com.br";
$Email->SMTPAuth = true;
$Email->Port = '587';
$Email->Username = 'contato@gcmelo.com.br';
$Email->Password = '********';
$Email->CharSet = 'utf-8';
$Email->IsHTML(true);
$Email->From = "contato@gcmelo.com.br";
$Email->FromName = "Chamado GCMelo";
$Email->AddAddress($arrAdmUsuario[$i]['des_email_usuario'], $arrAdmUsuario[$i]['nom_usuario']);
$Email->Subject = "Chamado aberto de numero: ".$Chamado->getIdChamado();
$Email->Body = utf8_decode( "<h3>Chamado de numero: </h3><b>".$Chamado->getIdChamado()."</b><br><h3>O problema descrito foi: </h3><br><b>".$Chamado->getDesProblema()."</b>" );
/*$enviado = $Email->Send();*/
if (!$Email->Send()) {
echo "<pre>";
print_r($Email->ErrorInfo);
echo "</pre>";
}else{
return '1';
$Email ->ClearAllRecipients();
}
sleep(20);
}
}Carregando comentários...