Ir ao conteúdo
  • Cadastre-se

Envio de múltiplos emails


Posts recomendados

Pessoal preciso de ajuda com um sistema que estou fazendo..

Queria fazer uma tabela que mostrasse todos os usuários que tenho cadastrado no meu banco de dados, e do lado de cada 1, faria um checkbox para eu seleciona-los para enviar um e-mail exp:

 

 

quando eu quisesse enviar o mesmo e-mail para mais de uma pessoa de uma vez, apenas selecionando-as pelo checkbox 
 

Exemplo na imagem anexada!

 

 

 

se alguém pudesse me ajudar, ficaria muito grato..

post-725649-0-51275700-1401916960_thumb.

Link para o comentário
Compartilhar em outros sites

Uma vez eu fiz isso em C#, mas não lembro hoje como fiz.

 

O que lembro é:

-Faça o envio do e-mail como prioridade normal;

-Envie os e-mails aos poucos, se você enviar muitos de cada vez é 100% de chance dos servidores (de envio/recebimento) considerarem spam, afinal o e-mail que você estará usando não tinha antes esse volume de envio;

Link para o comentário
Compartilhar em outros sites

  • Moderador
Olá,

 

Para Fazer a lista você precisa fazer uma consulta no banco e por os dados dentro de um while. Sendo que para cada registro você adiciona um input do tipo checkbox

ps: Assumindo que você está utilizando PHP e html.

 

Exemplo:

 



$consulta = mysqli("sua consulta ", $conexao);
while($algumacoisa = mysqli_fetch_object($consulta)):
echo "<input type='checkbox'..... $algumacoisa->nome... />";
endwhile;


 

 

Depois para enviar por e-mail você precisa percorrer com foreach os dados enviados pelo formulário e usar uma classe chamada phpmailer. nela você pode enviar o mesmo e-mail para diversos endereços... é uma classe bem avançada porém, fácil de aprender.

 

Mas.. tome cuidado, muito e-mails pode ser considerado spam.

Link para o comentário
Compartilhar em outros sites

<?php$buscarusuarios=mysql_query("SELECT * FROM usuarios WHERE nivel<='1'");if(mysql_num_rows($buscarusuarios) == 0){echo"Nenhum usuário cadastrado no sistema!";}else{while($linha=mysql_fetch_array($buscarusuarios)){?><td width="20"><input type="checkbox" name="email2"></td><td width="50%"><?php echo $linha["nome"];?></td></tr><?php } }?>

Da uma olhadinha no código e e vê o que estou fazendo de errado por favor.

Link para o comentário
Compartilhar em outros sites

  • Moderador

Qual erro exatamente está aparecendo?

 

Por hora, vou dar uma arrumada no seu código para melhor compreensão.

$buscarusuarios = mysql_query("SELECT * FROM usuarios WHERE nivel<='1'");$numReg = mysql_num_rows($buscarusuarios);if( $numReg != 0):   echo "Nenhum usuário cadastrado no sistema!"; exit();endif;while($linha=mysql_fetch_object($buscarusuarios)):  echo "<div class='lista'>            <p>Nome</p>            <input type='checkbox' name='email[]' value='$linha->email'/> $linha->nome <br/>        </div>";endwhile;   

Na linha 11, no atributo name.. deve ser do tipo array e o value inserir o e-mail da pessoa.

 

Depois para receber os dados dos checkbox's marcados... você deve percorrer com foreach 

 

Por exemplo:

$emails = $_POST[email];foreach($emails as $mail => $value):    echo "Emails marcados: $value <br/>";endforeach;

A variável email que recebe um array de e-mails,  é percorrido com o foreach . 

 

ps: é só um mero exemplo, para você visualizar o retorno.. você precisa implementar para seu propósito.

Link para o comentário
Compartilhar em outros sites

Desta quando coloco o mouse em cima do checkbox com o sistema rolando, parece la em baixo no canto inferior esquerdo o link que ele esta direcionado que no caso é mailto: e o email da respectiva pessoa, mais quando clico em enviar, ele entra automaticamente no outlook, mais fica em branco, sem o endereço que eu selecionei.

isso acontece com esse código
                  |

                  |
 

<form name="myWebForm" action="mailto:<?php echo $linha["email"];?>" method="get">            <table width="20%" border="0">                <tr>    <td colspan="2" align="center" bgcolor="#CCCCCC">Nome</td>      </tr>  <tr>  <?php				$buscarusuarios=mysql_query("SELECT * FROM usuarios WHERE nivel<='1'");				if(mysql_num_rows($buscarusuarios) == 0){				echo"Nenhum usuário cadastrado no sistema!";				}else{					while($linha=mysql_fetch_array($buscarusuarios)){										?>    <td width="20"> <a href="mailcc:<?php echo $linha["email"];?>"><input name="myWebForm" type="checkbox" value=""></a></td>    <td width="50%"><?php echo $linha["nome"];?></td>  </tr>  <?php } }?>  <tr>    <td colspan="3" align="center"><p>       </p>      <p><br />        <input class="txt bradius" name="enviar" type="submit" />      </p></td>  </tr></table></form>
Link para o comentário
Compartilhar em outros sites

  • Moderador

Isso acontece porque você está colocando mailto no action.  

 

Obrigatoriamente você precisa enviar um array de e-mails para um arquivo php.  e neste, fazer o envio com a classe phpmailer... 

 

Vou mostrar um exemplo com prints e o código para você estudar:

CSS:

<style type="text/css">	.lista{		width: 200px;		border: 1px solid #000;		background: linear-gradient(to right, rgba(28,129,142,0.73) 0%,rgba(125,185,232,0.58) 100%); /* W3C */		box-shadow:         3px 3px 6px 0px rgba(50, 50, 50, 0.43);	}		.lista>div,input[type='submit']{		width: 100%;		height: 20px;		background: #1C818E;		text-align: center;		border: none;			}	</style>

index.php

<div class="lista">	<div>Nome</div>	<form action="recebeDados.php" method="post">		<?php		include 'conn.php';		$buscarusuarios = mysqli_query ( $conn,"SELECT * FROM usuarios");		$numReg = mysqli_num_rows ($buscarusuarios );		if ($numReg == 0) :			echo "Nenhum usuário cadastrado no sistema!";			exit ();				endif;				while ( $linha = mysqli_fetch_object ( $buscarusuarios ) ) :			echo "<input type='checkbox' name='email[]' value='$linha->email'/> $linha->nome <br/>";		endwhile;				?>		<div><input type="submit" value="Enviar"/></div>	</form></div>

recebeDados.php

<?php$emails = $_POST["email"];foreach ($emails as $mail => $value):	echo "$value <br/>";endforeach;

Prints mais abaixo.

 

ps: com base nisso.. pesquise como utilizar a classe phpmailer, e enviar muiltiplos endereços com ele.. 

post-386885-0-02491800-1401941849.png

post-386885-0-32027100-1401941850.png

post-386885-0-79936400-1401941850_thumb.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...