Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal.
Estou tentando desenvolver um script super simples, (sou amador em programação, por isso desconsiderem possíveis erros) onde o cliente vai receber um email todo mes avisando do pagamento de uma mensalidade. Estou usando o PHPMailer, segue código:
<?php
$data = date('d/m/Y');
$ativo = 'ativo';
$nova_data = date('d/m/Y', strtotime("+31 days"));
$sql_envio = mysql_query("SELECT * FROM cadastro WHERE ativoCadastro='$ativo' AND dataAtual='$data'") or die(mysql_error());
while($res = mysql_fetch_array($sql_envio)){
$idCadastro = $res['idCadastro'];
$ativoCadastro = $res['ativoCadastro'];
$nomeCadastro = $res['nomeCadastro'];
$emailCadastro = $res['emailCadastro'];
$dataCadastro = $res['dataCadastro'];
$dataAtual = $res['dataAtual'];
$dominioCadastro = $res['dominioCadastro'];
}
if($dataAtual == $data){
//inclui a classe no documento
require('phpmailer/class.phpmailer.php');
//instancia a classe
$mail = new PHPMailer();
//defini que será enviado via SMTP
$mail->IsSMTP();
//define que será autenticado
$mail->SMTPAuth = true;
//altera a porta de envio
$mail->Port = 587;
//define o endereço SMTP
$mail->Host = 'mail.tlweb.com.br';
//Define o nome do usuário
$mail->Username = 'contato@tlweb.com.br';
//define a senha o usuário
$mail->Password = '******';
//Informa o email e nome de quem está enviado
$mail->SetFrom('contato@tlweb.com.br', 'Tiago Lisboa');
//Informa o email e nome de quem irá receber o email
$mail->AddAddress($emailCadastro, $nomeCadastro);
//titulo da mensagem que será enviada
$mail->Subject = 'Mensalidade Loja Virtual';
//a mensagem que está sendo enviada
$mail->MsgHTML('Mensalidade Loja Virtual <br/> Para realizar o pagamento acesse o link abaixo:<br/> <a href="#">Pagar com Pagseguro</a>');
//testa se foi enviada ou não
if($mail->Send()){
$up_data = mysql_query("UPDATE cadastro SET dataAtual = '$nova_data'")
or die(mysql_error());
echo 'E-mail enviado com sucesso!';
}else{
echo 'Erro ao enviar o email '.$mail->ErrorInfo;
}
}
?>
O problema que estou enfrentando é que, caso exista dois cadastro nas condições acima, ele só vai enviar um único email ao invés dos dois. Ou se tiver vários cadastro com a mesma "dataAtual", só vai enviar para o ultimo cadastrado no BD.
Alguém pode me dá uma dica como eu resolvo isso?
Obrigado.
Carregando comentários...