Ir para conteúdo

POWERED BY:

Arquivado

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

Bruno Conte

E-mail com aviso de cadastro

Recommended Posts

bom dia.

Tenho um cadastro de necessidades de produtos de clientes, onde quando ele cadastra meu sistema manda um email para todos os fornecedores avisando que houve um cadastro no sistema para eles verem se querem participar da venda deste produto.

 

O Problema esta que quando tem mais de um fornecedor na categoria ele so manda para o primeiro. Cadastrei 2 fornecedores e so manda para 1.

 

o codigo e o seguinte:

 

$id_nec = $_POST['id_nec'];

$x = $_POST[ 'categoria' ];

$i = 0;
foreach($x as &$key){

       $categoria = explode("_", $key);

       $id_cat = $categoria[0];
	$cat = $categoria[1];
	$nome = $_POST['nome'];
	$qtd = $_POST['qtd'];

       $query = "INSERT INTO `itensnecessidades`  (`id_nec`,`id_cat`,`categoria`,`nome`,`qtd`) VALUES  ({$id_nec},{$id_cat},'{$cat}','{$nome[$i]}','{$qtd[$i]}')";  
                       //aqui você tem que ver se você ta recebendo cada  uma dessas variáveis como "arrays",

	 $sql = mysql_query($query) or die(mysql_error());//executa a query

	$id_result = mysql_insert_id();

	$sql_email = mysql_query("select * from cliforn where id_cat = '$id_cat'", $conexao);

	 while ($vetor=mysql_fetch_array($sql_email)) { 

	 $fornecedor = $vetor['nome'];
	 $email = $vetor['email'];

	 // Inclui o arquivo class.phpmailer.php localizado na pasta phpmailer
require("mailer/class.phpmailer.php");

// Inicia a classe PHPMailer
$mail = new PHPMailer();

// Define os dados do servidor e tipo de conexão
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->IsSMTP(); // Define que a mensagem será SMTP
$mail->Host = "mail.teste.com.br"; // Endereço do servidor SMTP
$mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional)
$mail->Username = 'teste@teste.com.br'; // Usuário do servidor SMTP
$mail->Password = '11111111'; // Senha do servidor SMTP

// Define o remetente
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->From = "teste@teste.com.br"; // Seu e-mail
$mail->FromName = "Teste"; // Seu nome

// Define os destinatário(s)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->AddAddress($email, $fornecedor);
//$mail->AddCC('ciclano@site.net', 'Ciclano'); // Copia
//$mail->AddBCC('fulano@dominio.com.br', 'Fulano da Silva'); // Cópia Oculta

// Define os dados técnicos da Mensagem
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->IsHTML(true); // Define que o e-mail será enviado como HTML
//$mail->CharSet = 'iso-8859-1'; // Charset da mensagem (opcional)

// Define a mensagem (Texto e Assunto)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->Subject  = "Cadastro de Necessidade"; // Assunto da mensagem
$mail->Body = "<img src=\"http://teste.com.br/imgs/site/logo.png\" alt=\":)/>\" class=\"logo\"> <br /><br />Caro $fornecedor, um cliente, cadastrou o seguinte produto que esta associado a sua categoria: <br /> $nome[$i] <br /> <a href=\"http://teste.com.br/pagina.php?i=ver_necessidade.php&codigo=$id_result\">Clique Aqui para Ver o Produto</a> ";
$mail->AltBody = "Este é o corpo da mensagem de teste, em Texto Plano! \r\n <img src=\"http://gteste.com.br/imgs/site/logo.png\" alt=\":)/>\" class=\"wp-smiley\"> ";

// Define os anexos (opcional)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
//$mail->AddAttachment("c:/temp/documento.pdf", "novo_nome.pdf");  // Insere um anexo

// Envia o e-mail
$enviado = $mail->Send();

// Limpa os destinatários e os anexos
$mail->ClearAllRecipients();
$mail->ClearAttachments();

// Exibe uma mensagem de resultado
if ($enviado) {
echo "Enviado e-mail para fornecedores!";
} else {
echo "Não foi possível enviar o e-mail.<br /><br />";
echo "<b>Informações do erro:</b> <br />" . $mail->ErrorInfo;
}

	 }                                               


	}

$i++;

echo"Produtos de Necessidade cadastrados no pedido: ";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Comece removendo isto:

require("mailer/class.phpmailer.php");

 

De dentro do laço, pois na segunda volta ele vai tentar incluir uma classe que já existe e vai interromper a execução do script. Acredito que isto por si só resolva o problema, apesar de o seu script não ficar lá muito otimizado.

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.