Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Aí pessoal não consigo enviar e-mail para todos os alunos cadastrados.
como envio isso atraves do php com mysql?
lá vai o codigo
elseif($todos!='' && $curso!=''){
require_once('Rmail/Rmail.php');
$mail = new Rmail();
$mail->setFrom('leonel <leonel@paioldesign.com.br>'); // Este e o e-mail do administrador do sistema.
$mail->setSubject($assunto);
$bcc = "select * from alunos where Curso='$curso'";
$Bcc = mysql_query($bcc);
while($guardado = mysql_fetch_assoc($Bcc)){
//$copiaoculta = $guardado['email'].";";
$todos = $guardado['email'].",";
$nome_cliente = $guardado['nome'].";";
$endereco_Cliente = $guardado['endereco'];
}
$largo=strlen($todos);
if ($largo>2) {
//tiramos ultimos ", "
$todos=substr($todos,0,$largo-2);
}
else {
echo "Não há destinatários!";
//die();
};
print $todos;
$mail->setBcc($todos);
$mail->setCc($todos);
$mail->setHTML($mensagem);
$mail->setReceipt($todos);
$result = $mail->send(array($todos));
//echo "<meta HTTP-EQUIV='refresh' CONTENT='0;URL=index.php?id=e-mail'>";
}>
você ja testou essa classe pra ver se ela esta enviando o email?
faça teste substituindo as variaveis por dados de algum email seu para testar e ver se o email chega
aconselho utilizar classe PHPmailer muito boa so procurar no google tem diversos exemplos junto quando você baixa
outra coisa, você esta concatenando todos os emails, isso dependendo do numero de mails pode ocorrer erro
seria melhor enviar cada email separado podendo utilizar ja o loop do while recupera o dado do banco e ja envia o email
tambem outra coisa para observar sao os limites que cada host coloca você pode enviar x emails a cada hora
já testei sim,
só envia para o ultimo e-mail que vem do banco de dados
Valeu galera está funcionando.
heis o codigo.
elseif($todos!='' && $curso!=''){
require_once('Rmail/Rmail.php');
$mail = new Rmail();
$mail->setFrom('leonel <leonel@paioldesign.com.br>'); // Este e o e-mail do administrador do sistema.
$mail->setSubject($assunto);
$bcc = "select * from alunos where Curso='$curso'";
$Bcc = mysql_query($bcc);
while($guardado = mysql_fetch_assoc($Bcc)){
//$copiaoculta = $guardado['email'].";";
$osemails .= ($guardado['email'].";");
$nome_cliente = $guardado['nome'].";";
$endereco_Cliente = $guardado['endereco'];
}
$largo=strlen($osemails);
if ($largo>1) {
//tiramos ultimos ", "
$todos=substr($osemails,0,$largo-2);
}
else {
echo "Não há destinatários!";
//die();
};
//print $osemails;
$mail->setBcc($osemails);
$mail->setCc($osemails);
$mail->setHTML($mensagem);
$mail->setReceipt($osemails);
$result = $mail->send(array($todos));
echo "<meta HTTP-EQUIV='refresh' CONTENT='0;URL=index.php?id=e-mail'>";
}
você ja testou essa classe pra ver se ela esta enviando o email?
faça teste substituindo as variaveis por dados de algum email seu para testar e ver se o email chega
aconselho utilizar classe PHPmailer muito boa so procurar no google tem diversos exemplos junto quando você baixa
outra coisa, você esta concatenando todos os emails, isso dependendo do numero de mails pode ocorrer erro
seria melhor enviar cada email separado podendo utilizar ja o loop do while recupera o dado do banco e ja envia o email
tambem outra coisa para observar sao os limites que cada host coloca você pode enviar x emails a cada hora