Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dodo15

Newsletter com banco de dados

Recommended Posts

Boa tarde

desculpe encomodar novamente...

 

Bom ja me ajudaram e eu consegui a enviar uma newsletter, mas agora eu estou tentando fazer com que ela envie para todos os usuarios do meu banco de dados....

Mas quando eu envio nem um e-mail recebe a newsletter...

 

Alguem poderia me ajudar a resolver isso?

 

<?php
ini_set('display_errors', true);
error_reporting(E_ALL);
include ('class.phpmailer.php');
include ('conexao.php');
$emails = mysql_query("SELECT email FROM email") or die(mysql_error());
$contar_emails = mysql_num_rows($emails);
while($res_email = mysql_fetch_array($emails)){
$email = $res_email[0];

//Campos de envio da mensagem!
$post1 = $_POST['assunto'];
$post2 = $_POST['mensagem'];
$data = date('d/m/Y H:i');

$de = utf8_decode('Boccuto Cia - Promoções!');

       //VARIAVEL PARA ENVIAR O EMAIL
$para = utf8_decode("$email");

$assunto = utf8_decode($post1);
$html = utf8_decode("$post2 <br /><br /><small>Enviado em: $data</small>");

//Configurações do PHP Mailer
$PHPMailer = new PHPMailer();
   $PHPMailer->IsSMTP = ('smtp');
   $PHPMailer->Charset = 'UTF-8';
   $PHPMailer->SMTPAuth = true;
   $PHPMailer->Port = 465;

   //Configurações do e-mail
   $PHPMailer->Host = "smtp.pva.terra.com.br"; // SMTP servers
   $PHPMailer->Sender = ('nome@terra.com.br');
   $PHPMailer->Username = ('nome@terra.com.br'); // SMTP username
   $PHPMailer->Password = ('senha'); // SMTP password

//Configurações de envio 	
   $PHPMailer->From = ('nome@terra.com.br');
   $PHPMailer->FromName = $de;
   $PHPMailer->AddAddress ($para);
   $PHPMailer->Subject = ($assunto);
   $phpmail->IsHTML = (true);

   $texto = 'Olá você está recebendo nossas ofertas por e-mail! Obrigado.';
   $PHPMailer->Body = $html;
   $PHPMailer->AltBody = $texto;

   if ( $PHPMailer->Send() ){
echo "Enviado com sucesso, para: ". $para ."<br />" . $PHPMailer->ErrorInfo;
   }else{
   	echo "Erro ao enviar, para: ". $para ."<br />" . $PHPMailer->ErrorInfo;
   }
}
?>

 

Alguem sabe como?

Compartilhar este post


Link para o post
Compartilhar em outros sites

É que nao aparece nem um erro na tela, ele nao informa nada... apenas nao envia o e-mail para ninguem...

se na $para eu escrevo um e-mail direto (ex: $para = ('nome@gmail.com') )ele envia o email, mas conectando ao banco de dados ele nao envia...

 

Para enviar e-mail eu estou usando esse codigo:

 

       $emails = mysql_query("SELECT email FROM email") or die(mysql_error());
       $contar_emails = mysql_num_rows($emails);
       while($res_email = mysql_fetch_array($emails)){
               $email = $res_email[0];
               aki vem o phpmailer..

 

Esse while é para fazer o phpmailer enviar para todos do banco de dados

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ja fechei, e deu o mesmo erro...

 

Mas como eu dou echo nas variaveis do loop e em todas variaveis?

pq ja estou dando echo la no final, do loop para os email q foi enviado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Variavel email: Resource id #5

Variavel Contar emails: 2

Variavel email: matheusdonangelo@hotmail.com

 

Enviado com sucesso, para: matheusdonangelo@hotmail.com

 

Variavel email: mldonangelo@gmail.com

 

Enviado com sucesso, para: mldonangelo@gmail.com

 

Eu coloqei um echo nas variaveis: email, emails, contar_email

e apareceu isso...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mesmo com 1 email no banco de dados ele nao recebe

 

Nao tem ninguem qe tenha feito algo parecido e possa mandar o codigo ou dar uma ajudinha aki?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça também como o Beraldo sugeriu, verifique com sua hospedagem a política de envio de e-mail.

Talves esteja enviando mais do que o possível por x período de tempo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

já tive assim um problema e resolvi assim

 

$cont = 0;
							$listmsg = "SELECT * FROM `teste`";
							$result=mysql_query($listmsg);
							while ($rows=mysql_fetch_row($result)) {

							$paraemail = $rows[1];

							$mail->AddAddress($paraemail);
							$mail->Send();
							$mail->ClearAddresses();
							$cont = $cont + 1;
							echo $paraemail; 

							if ($cont == 50)
								{
									flush();

									sleep (500);
									$cont = 0;
								}
							}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.