Ajuda com envio de e-mails PHP

Boa noite galera!

to precisando de uma ajudar aki em um codigo php, to querendo enviar um email para varios destinatarios, esses destinatarios ja estão no banco de dados na tabela emails!
segue o codigo pra melhor entendimento:

[code]<?php

header ('Content-Type: text/html; charset=utf-8');
require('PHPMailer/class.phpmailer.php');
include ("conexao.php");

// recebendo os dados do formulario
if(isset($_POST['nome'])){

$nome = ucwords($_POST['nome']);
$recebeassunto = $_POST['assunto'];
$recebemail = $_POST['email'];
$recebemensagem = $_POST['msg'];

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->IsHTML = (true);
$mail->Host = 'webmail25.redehost.com.br';
$mail->Username = ('admin@aluisioiluminacoes.com.br');
$mail->Password = ('********');
$mail->SetFrom('admin@aluisioiluminacoes.com.br');
$mail->Port = 587;





//envia a mensagem
//corpo HTML chama a classe aki.
$mail->Body = $msg;


//Destinatarios
$mail->AddAddress('murill0smit@gmail.com');

//Assunto
//$mail->Subject = $recebeassunto;

$mail->From = "$email";
$mail->Subject = "$nome";
$mail->FromName = "$assunto";



if($mail->Send())
	echo 'E-mails enviado com sucesso';
		else
			echo 'Erro ao enviar e-mail'.$mail->ErrorInfo;
}

?>
[/code]

alguém pode me ajudar, to usando a classe PHPMailer

ATT, Murillo Lima

Estranho, não deu nenhum erro?

Tem algum firewall bloqueando o envio?

Não deu erro não, ta enviando certin so que eu quero enviar para varios outros e-mail não só pra um… os emails já estão na tabela no bd,
vc pode me ajudar, como posso fazer isso?

murillo_smit,

Faz um foreach ou while na coluna de e-mails e envia.

Tem como vc me passar um exemplo pedrinho20? no caso eu tenho q fazer o while nessa linha neh?

Agradeço se vc pode ajudar!

murillo_smit,

Você pode usar a seguinte lógica. Envie um e-mail para cada da coluna X da minha tabela de contatos.
Nessa tabela você fazer uma varredura com uma estrutura de repetição e executa uma ação.

Você sabe usar o foreach e trazer os registros do banco ? É basicamente isso …

http://blog.thiagobelem.net/for-foreach-e-while-repeticoes-e-lacos-no-php/

Capiche ?

vc tem pegar os registros do banco e fazer um forech como o pessoal falou.


$lista = $dao->listarEmails();

foreach($lista as $item){
  $mail->clearAllRecipients();
  $mail->addAddress($item['email']);
  $mail->send();
}

Cara tem como tu emplementar esse codigo ai no meu? to vuando aki perdido! :smiley: agradeço
Se tu quiser te passo a tabela do bd tbm.

Cara tem como tu emplementar esse codigo ai no meu? to vuando aki perdido! :smiley: agradeço
Se tu quiser te passo a tabela do bd tbm.

faça as coisas nessa ordem

1 - pegue os dados banco;
2 - faça um for/while nesses dados;
3 - dentro do for/while coloque o codigo q ta outro post(aquele limpa os destinatarios, inclues eles novamente e envia o email)

Eu to tentando fazer assim! so que ta dando erro, da uma olhada ai;

[code]<?php

header ('Content-Type: text/html; charset=utf-8');
require('PHPMailer/class.phpmailer.php');
include ("conexao.php");

// recebendo os dados do formulario
if(isset($_POST['nome'])){

$nome = ucwords($_POST['nome']);
$recebeassunto = $_POST['assunto'];
$recebemail = $_POST['email'];
$recebemensagem = $_POST['msg'];

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->IsHTML = (true);
$mail->Host = 'webmail25.redehost.com.br';
$mail->Username = ('admin@aluisioiluminacoes.com.br');
$mail->Password = ('******');
$mail->SetFrom('admin@aluisioiluminacoes.com.br');
$mail->Port = 587;
$mail->Addbcc ($para);





//envia a mensagem
//corpo HTML chama a classe aki.
$mail->Body =  utf8_decode($msg);

//LAÇO DE REPETIÇÃO PARA ENVIAR PARA DESTINTARIOS
 
    $tabela = "emails";

   // CAMPOS UTILIZADOS PARA A CONSULTA
    $campos = "id, nome, email, codStatus";

      // NUMERO MÁXIMO DE ENVIO
    $quant = 2;

        // TEMPO ENTRE UM PROCESSO DE ENVIO E OUTRO
    $seg = 10;

        // CONECTA COM O SERVIDOR MYSQL
    mysql_connect($host,$usuario,$senha);

        // SELECIONA O BANCO
     mysql_select_db($banco);

        // RESGATA O VALOR DA GLOBAL INICIO
        $inicio = $_GET["inicio"];

        // ATRIBUI O RESULTADO DA SOMA ENTRE INICIO E QUANT
      $fim = $inicio + $quant;

        // VERIFICA SE FOI ATRIBUIDO VALOR A VARIAVEL "INICIO"
       if($inicio == ""){

        // ATRIBUI O VALOR 0 CASO NAO EXISTA VALOR ATRIBUIDO
        $inicio = 0;
       }else{

        // ATRIBUI O VALOR DA GLOBAL INICIO CASO JA EXISTA VALOR ATRIBUIDO
        $inicio = $_GET["inicio"];
        }

        // EXECUTA A CONSULTA OU INFORMA UM ERRO CASO OCORRA
     $sql = mysql_query("SELECT ". $campos ." FROM ". $tabela ." WHERE codStatus = 0 LIMIT ". $inicio .",". $quant)or die(mysql_error());

        // VERIFICA SE AINDA EXISTEM EMAILS A SEREM ENVIADOS
       if(mysql_num_rows($sql) == 0){

        // ALTERANDO O VALOR DO CAMPO CODSTATUS PARA 0
        @mysql_query("UPDATE ". $tabela ." SET codStatus = 0");

        // INFORMO O TÉRMINO DO PROCESSO
        echo "Fim do processo de envio!";
		?>
<? }else{ // CONTINUA EFETUANDO O ENVIO echo ""; } // CRIA O LAÇO REPETITIVO while($r = mysql_fetch_array($sql)){ // ADICIONAMOS OS PADROES DE DESTINATRIO $para = $r["email"]; //Destinatarios //MUADAR AKI PARA TESTAR //$mail->AddAddress('murillo_smit@hotmail.com'); //Assunto //$mail->Subject = $recebeassunto; $mail->From = "$email"; $mail->Subject = "$nome"; $mail->FromName = "$assunto"; if($mail->Send()){ echo "
Mensagem enviada para: ". $para ."
"; //Altero o código para 1 para parar o envio do loop @mysql_query("UPDATE". $tabela ."SET codStatus = 1 WHERE id = 1".$id); } else { echo "Mensagem nao enviada para: ". $para ."
"; } } } ?>

[/code]