::MARCOS 0 Denunciar post Postado Outubro 27, 2004 é o seguinte desenvolvi um newsletter e to com um problema, ele tem os contados que sao chamados de um DB e esse contatos tambem sao clasificado por grupos, ate ai tdo bem,/ o fato é que quando eu envio o email para um grupos e se esse grupo tem 10 contatos, esses contatos recebem 10 vezes o mesmo email, ou seja esta enviando os email repedito, ############################# o cod que busca no banco de dados function enviar_news($id_msg,$id_contatos,$id_grupos){ abre_banco(); $sql_msg="select * from msg_news where id='$id_msg'"; $exec_msg = mysql_query($sql_msg) or die (mysql_error()); $msg=mysql_fetch_array($exec_msg); $cont_contatos=count($id_contatos); if ($cont_contatos>0) { $implode_contatos=implode("') or (id='",$id_contatos); }; $cont_grupos=count($id_grupos); if ($cont_grupos>0) { $implode_grupos=implode("') or (id_grupos='",$id_grupos); }; if ($cont_contatos<1 && $cont_grupos<1) { $sql_contatos = "select * from contatos where id='-1'"; } else { if ($cont_contatos<1) { $sql_contatos = "select * from contatos where (id_grupos='$implode_grupos')"; } else if ($cont_grupos<1) { $sql_contatos = "select * from contatos where (id='$implode_contatos')"; } else { $sql_contatos = "select * from contatos where (id='$implode_contatos') or (id_grupos='$implode_grupos')"; }; }; #############################////o cod que envia o email $exec_contatos=mysql_query($sql_contatos); $cont_result_contatos=mysql_num_rows($exec_contatos); for($a=0; $a<$cont_result_contatos; $a++) { $result = mysql_fetch_array($exec_contatos); $headers .= "To: $nome_contatos <$email_contatos>\r\n"; $email_contatos=$result[email]; $nome_contatos=$result[nome]; $msg_end = $html_1; mail ($email_contatos, $msg[nome], $msg_end, $headers); }; $GLOBALS[num_email]=$cont_result_contatos; :o meu icq para quem puder ajudar é 145152240 Compartilhar este post Link para o post Compartilhar em outros sites
::MARCOS 0 Denunciar post Postado Outubro 28, 2004 Ou alguem tem alguma alternativa para issopode ser outro tipo de envio de emial Compartilhar este post Link para o post Compartilhar em outros sites
covered 0 Denunciar post Postado Outubro 28, 2004 PHP [/tr][tr]function enviar_news($id_msg,$id_contatos,$id_grupos){abre_banco(); $sql_msg="select * from msg_news where id='$id_msg'"; $exec_msg = mysql_query($sql_msg) or die (mysql_error()); $msg=mysql_fetch_array($exec_msg); $cont_contatos=count($id_contatos); if ($cont_contatos>0) { $implode_contatos=implode("') or (id='",$id_contatos); }; $cont_grupos=count($id_grupos); if ($cont_grupos>0) { $implode_grupos=implode("') or (id_grupos='",$id_grupos); }; if ($cont_contatos<1 && $cont_grupos<1) { $sql_contatos = "select DISTINCT from contatos where id='-1'"; } else { if ($cont_contatos<1) { $sql_contatos = "select DISTINCT from contatos where (id_grupos='$implode_grupos')"; } else if ($cont_grupos<1) { $sql_contatos = "select DISTINCT from contatos where (id='$implode_contatos')"; } else { $sql_contatos = "select DISTINCT from contatos where (id='$implode_contatos') or (id_grupos='$implode_grupos')"; }; }; ############################# ////o cod que envia o email $exec_contatos=mysql_query($sql_contatos); $cont_result_contatos=mysql_num_rows($exec_contatos); for($a=0; $a<$cont_result_contatos; $a++) { $result = mysql_fetch_array($exec_contatos); $headers .= "To: $nome_contatos <$email_contatos>\r\n"; $email_contatos=$result[email]; $nome_contatos=$result[nome]; $msg_end = $html_1; mail ($email_contatos, $msg[nome], $msg_end, $headers); }; $GLOBALS[num_email]=$cont_result_contatos;[/tr] E bota uma linha no código que limpe as variáveis de endereços Se voce nao fizer isso vai continuar o mesmo erro Compartilhar este post Link para o post Compartilhar em outros sites
::MARCOS 0 Denunciar post Postado Outubro 29, 2004 Onde devo colocar a linha?e como devo colar?Urgente é para hj e nao sei como fazer?vai enviar varios email para as pessoas Compartilhar este post Link para o post Compartilhar em outros sites
::MARCOS 0 Denunciar post Postado Outubro 29, 2004 poedria fazr um loop ali voce nao achas PHP [/tr][tr]do { $exec_contatos=mysql_query($sql_contatos); $cont_result_contatos=mysql_num_rows($exec_contatos); for($a=0; $a<$cont_result_contatos; $a++) { $result = mysql_fetch_array($exec_contatos); $headers .= "To: $nome_contatos <$email_contatos>\r\n"; $email_contatos=$result[email]; $nome_contatos=$result[nome]; $msg_end = $html_1; mail ($email_contatos, $msg[nome], $msg_end, $headers); }; $GLOBALS[num_email]=$cont_result_contatos; while ($cont_result_contatos=mysql_num_rows($exec_contatos)); [/tr]Que tal isso Compartilhar este post Link para o post Compartilhar em outros sites
covered 0 Denunciar post Postado Outubro 29, 2004 tenta usar o loop com um sleep no final Compartilhar este post Link para o post Compartilhar em outros sites
::MARCOS 0 Denunciar post Postado Novembro 2, 2004 nossa dois problemas Primeiro dei um loop infinito a Locaweb ligo para mim heheheheh ^_^ segundo o loop nao funcionou claro!!!Em resumo nao sei como solucionar esse problema ja pensei varias formas e nada alguem poderia me ajudar ???Marcos :mellow: Compartilhar este post Link para o post Compartilhar em outros sites
::MARCOS 0 Denunciar post Postado Novembro 4, 2004 Ja era solucionou sozinho hehehehnda muita leitura e estudo para descobrir que sou um idiota hehehehhevaleu por quem pensou em ajudar ja ajudou muito Compartilhar este post Link para o post Compartilhar em outros sites