Ir para conteúdo
Fórum Script Brasil
  • 0

Newsletter


Pitanga

Pergunta

criei uma newsletter simples com um form e uma pagina de retorno so que não estou conseguindo o resultado que quero!

tenho o codigo abaixo que esta enviando varios email para cada pessoa registada na BD, como eu faço para que ele envie apenas uma mensagem para cada email registado na minha BD?

<?php 
$data = date('F j, Y, g:i a'); //formato da data

    //insere dados
	$sql = "INSERT INTO newsImagens (data, imagem1, imagem1_name, imagem1_type, imagem1_size, texto1, 
          imagem2, imagem2_name, imagem2_type, imagem2_size, texto2,
          imagem3, imagem3_name, imagem3_type, imagem3_size, texto3) 
         VALUES ('$data', '$imagem1', '$imagem1_name', '$imagem1_type', '$imagem1_size', '$texto1', 
    	'$imagem2', '$imagem2_name', '$imagem2_type', '$imagem2_size', '$texto2',
    	'$imagem3', '$imagem3_name', '$imagem3_type', '$imagem3_size', '$texto3')";
    $result = mysql_query($sql) or die ('Não foi possível executar a operação. ' .mysql_error());
    
   //se conseguiu inserir seleciona mails
   if($result){
  $sql = "SELECT email FROM newsTestes";
  $result = mysql_query("$sql") or die("Query inválida! Erro: <br> " . mysql_error());
  $registos = @mysql_num_rows($result);
          
      //se não existem mails retorna erro
    if($registos == 0){  
         echo "Lamento, mas não existem E-mails registados em nossa Base de Dados";
         //se existe envia mail
    }else{    
      for($i = 0; $i < $registos; $i++){
     $row = mysql_fetch_object($result);
          $enviar = $row->email;
     
       echo "<br>" . $enviar . "<br>";
    
          $campospagina = "pagina";

       $camposmail = "mail";

       $headers .= "From: Webmaster <webmaster@abelha.net>\r\n";      
       $headers .= "To: $enviar <$enviar>\r\n";      
       $headers .= "Reply-To: Webmaster <webmaster@abelha.net>\r\n";      
  	
     mail($enviar, "Newsletter Trigénius", $camposmail, $headers);
     echo "Vossa Mensagem foi enviada com sucesso!";
     echo "$campospagina";
  	}
   }
     //se não conseguiu inserir retorna erro
     }else{
     echo "Não foi possível enviar a vossa newsletter, isso deve ser da Telepac, não se preocupe, 
      tente novamente mais tarde e se mesmo assim não funcionar, olha! vá tomar um café porque o mundo não vai acabar
     e nem a Trigénius falir por conta disso!";
   }
?>

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Opa beleza então eu não to tendo tempo pra testar seu script com calma

mas tenta tirar os header de dentro do FOR pode ser isso

deixa assim:

for($i = 0; $i < $registos; $i++){

$row = mysql_fetch_object($result);

    $enviar = $row->email;

    echo "<br>" . $enviar . "<br>";

 

    $campospagina = "pagina";

    $camposmail = "mail";

}

$headers .= "From: Webmaster <webmaster@abelha.net>\r\n";     

      $headers .= "To: $enviar <$enviar>\r\n";     

      $headers .= "Reply-To: Webmaster <webmaster@abelha.net>\r\n";

 

    mail($enviar, "Newsletter Trigénius", $camposmail, $headers);

    echo "Vossa Mensagem foi enviada com sucesso!";

    echo "$campospagina";

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...