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

enviar varios destinatarios


Marcos Geam

Pergunta

Pessoal alguém poderia me dizer onde esta o erro no codigo abaixo; na realidade não esta errado o envio esta sendo efetuado so que não envia para todos os emails do banco apenas para um, a ideia é de um post vindo do formulario que informa qual categoria devera ser enviado o email ele seleciona os emails no banco e envia apenas para a categoria selecionado $_POST['campo_do_formulario_categoria']; (creio o erro esteja no laço que não estou sabendo fazer)

//seleciona email na tabela

$colname_destinatarios_email = "-1";

if (isset($_POST['grupo_assinante'])) {

$colname_destinatarios_email = $_POST['grupo_assinante'];

}

mysql_select_db($database_conn, $conn);

$query_destinatarios_email = sprintf("SELECT * FROM ntb_emails WHERE grupo_assinante = %s", GetSQLValueString($colname_destinatarios_email, "text"));

$destinatarios_email = mysql_query($query_destinatarios_email, $conn) or die(mysql_error());

$row_destinatarios_email = mysql_fetch_assoc($destinatarios_email);

$totalRows_destinatarios_email = mysql_num_rows($destinatarios_email);

?>

// Cria o Laço Repetitivo

while($totalRows_destinatarios_email = mysql_fetch_assoc($destinatarios_email)){

//Determina a variavel do destinatario

$destinatarios = $totalRows_destinatarios_email['email_assinante'];

}

//Criando a classe PHPMailer para envio de newsletter

$mail = new PHPMailer();

$mail->IsSMTP('smtp'); // mandar via SMTP

$mail->Mailer = ('mail');

.....

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

já coloquei mesmo assim continua enviando apenas para um dos emails;

//Cria o laço repetitivo

while($row_destinatarios_email = mysql_fetch_array($destinatarios_email)){

// ADICIONAMOS OS PADRÕES DE DESTINATRIO

$destinatarios = $row_destinatarios_email['email_assinante'];

include ("phpmailer/class.phpmailer.php");

//Criando a classe PHPMailer para envio de newsletter

.....

}

mais acima esta a conexao com a tabela vou mostrar abaixo:

$colname_destinatarios_email = "-1";

if (isset($_POST['grupo_assinante'])) {

$colname_destinatarios_email = $_POST['grupo_assinante'];

}

mysql_select_db($database_conn, $conn);

$query_destinatarios_email = sprintf("SELECT * FROM ntb_emails WHERE grupo_assinante = %s", GetSQLValueString($colname_destinatarios_email, "text"));

$destinatarios_email = mysql_query($query_destinatarios_email, $conn) or die(mysql_error());

$row_destinatarios_email = mysql_fetch_assoc($destinatarios_email);

$totalRows_destinatarios_email = mysql_num_rows($destinatarios_email);

Link para o comentário
Compartilhar em outros sites

  • 0

Vamos lá detalhando;

form (pagina pre-envio.php)

<form action="template-01.php?id=<?php echo $row_lista_conteudo['id']; ?>" method=post">

<!-- new box -->

<div class="box corners shadow">

<div class="box-header">

<h2>Enviar Newsletter</h2>

<div class="box-header-ctrls">

<a href="java script:void(null);" title="" class="close"><!-- --></a>

</div>

</div>

<div class="box-content" id="contacts-1">

<div class="inbox-sf">

<input type="text" name="input" onFocus="if(this.value=='Search the articles')this.value='';" onBlur="if(this.value=='')this.value='Search the articles';" value="Envio individual" class="input-1"/>

<select name="grupo_assinante" class="select-1" id="grupo_assinante">

<option value="Clientes">Clientes</option>

<option value="Amigos">Amigos</option>

<option value="Família">Família</option>

</select>

<input type="submit" name="input" value="Enviar" class="inbox-sf-search-btn" />

pagina envio.php (resumo apenas partes principais)

<?php

require_once('../../Connections/conn.php');

include ("phpmailer/class.phpmailer.php");

......

$colname_destinatarios_email = "-1";

if (isset($_POST['grupo_assinante])) {

$colname_destinatarios_email = $_POST['grupo_assinante'];

}

mysql_select_db($database_conn, $conn);

$query_destinatarios_email = sprintf("SELECT * FROM ntb_emails WHERE grupo_assinante = %s", GetSQLValueString($colname_destinatarios_email, "text"));

$destinatarios_email = mysql_query($query_destinatarios_email, $conn) or die(mysql_error());

$row_destinatarios_email = mysql_fetch_assoc($destinatarios_email);

$totalRows_destinatarios_email = mysql_num_rows($destinatarios_email);

....... criando o laço e o envio smtp

//Cria o laço repetitivo

while($totalRows_destinatarios_email = mysql_fetch_assoc($destinatarios_email)){

// ADICIONAMOS OS PADRÕES DE DESTINATRIO

$destinatarios .= $totalRows_destinatarios_email['email_assinante'].",";}

//Criando a classe PHPMailer para envio de newsletter

$mail = new PHPMailer();

$mail->IsSMTP('smtp'); // mandar via SMTP

$mail->Mailer = ('mail');

$mail->SMTPSecure = 'ssl';

.........

espero ajuda obrigado a todos!

Link para o comentário
Compartilhar em outros sites

  • 0

Não sei se entendi direito mais esse script eu uso e esse IF que criei funciona perfeitamente. Como observei que você esta usando a classe PHPMailer que eu tambem uso acho que isso vai te ajudar.

Substitui os parametros e ve se ajuda. Abraço.

<?php

//Enviando email não autenticado e enviando email, selecionando pelo categoria.

require("libs/class.phpmailer.php"); // Certifique-se de que o caminho está certo.

$grupo_assinante= $_POST['grupo_assinante'];//nome do select vindo do formulario, traz o valor selecionado pelo usuario

$mail = new PHPMailer();

$mail->SetLanguage("br", "libs/");

$mail->From = "website@email.com.br"; // E-mail do remetente

$mail->FromName = "Formulario do site"; // Nome do remetente

if($grupo_assinante== 'Amigos')://

$mail->AddAddress("maria@email.com"); //quantos destinatarios forem necessarios é so ir adicionarndo um em baixo do outro, quantos addAdress quiser.

$mail->AddAddress("joao@email.com");

elseif($grupo_assinante== 'Clientes'):

$mail->AddAddress("fulano@email.com.br"); // E-mail do destinatário

elseif($grupo_assinante== 'Familia'):

$mail->AddAddress("marcos@email.com"); // E-mail do destinatário

else:

$para = 'erro';

endif;

// agora verificamos se não há erro na seleção da categoria se sim volta para o formulario

if($para == 'erro'):

?>

&lt;script language=JavaScript">

alert('Selecione um departamento');

location.href='formulario.html';</script>

<?

exit;

endif;

$mail->IsHTML(false);

$mail->Subject = $_POST['assunto];

$mail->Body .= "Nome: ".$_POST['nome_usuario']."\r\n";

$mail->Body .= "E-Mail: ".$_POST['email_usuario']."\r\n";

if(!$mail->Send()) {

echo "Erro: ". utf8_decode($mail->ErrorInfo);

} else {

header('Location: http://www.website.com.br');

}

?>

Editado por kethellen
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,2k
    • Posts
      652k
×
×
  • Criar Novo...