Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Amigos,
Estou com um problema com o PHPMailer que acredito que vocês possa me auxiliar. Tenho no meu banco uma tabela com os dados de algumas pessoas. Realizo um select pela data para verificar os aniversariantes do dia. Segue parte do código para que vocês possam entender:
<?
include "conexao.php";
include "config_phpmailer.php";
$hoje = date("m-d");$sql = "SELECT nome, email FROM aluno WHERE date_format(nascimento, '%m-%d') = '$hoje'";
$res = mysql_query($sql);
while ($qds = mysql_fetch_array($res)) {
$nome = $qds["nome"];
$email = $qds["email"];
$msg = "mensagem de aniversario";
$mail->Subject = "Feliz Aniversario";
$mail->AddAddress($email,$nome); // Email e nome de quem receberá
$mail->Body = $msg;
if(!$mail->Send()){
echo "erro ao enviar mensagem para $email<br />";
echo "Mailer Error: " . $mail->ErrorInfo;
return false;
} else {
echo "mensagem enviada com sucesso para $nomAluno<br />";
return true;
}
}
include "fecha_conexao.php";
?>A mensagem é enviada.
O problema: supondo que existam 3 aniversariantes no dia
Com o "return true;" abilitado a mensagem é enviada apenas para o primeiro contato;
Caso seja comentado a linha com o código "return true;", a mensagem é enviada para todos, no entanto a 1ª mensagem será enviada para o 1º aniversariante, a 2ª msg será envaida para o 1º e 2º aniv e a 3ª msg será enviada para o 1º, 2º e 3º. Ou seja o primeiro receberá o número de mensagens igual ao número de aniversariantes do dia.
Como posso resolver essa bronca?
Conto com a ajuda de vocês,
Fraternalmente,
Carregando comentários...