Foros del Web » Programando para Internet » PHP »

Enviar e-mail a una lista

Estas en el tema de Enviar e-mail a una lista en el foro de PHP en Foros del Web. Hola a todos, Tengo un problema que no se como resolverlo. Tengo en una tabla unos e-mails almacenados y lo que quiero es enviarle un ...
  #1 (permalink)  
Antiguo 23/07/2010, 08:51
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Enviar e-mail a una lista

Hola a todos, Tengo un problema que no se como resolverlo.
Tengo en una tabla unos e-mails almacenados y lo que quiero es enviarle un e-mail a todos.
He creado la consulta
Código PHP:
mysql_select_db($database_tengo$tengo);
$query_mail "SELECT * FROM prueba_email";
$mail mysql_query($query_mail$tengo) or die(mysql_error());
$row_mail mysql_fetch_assoc($mail);
$totalRows_mail mysql_num_rows($mail); 
Ahora le digo que me repita todos los usuarios que hay en esa tabla
Código PHP:
<?php do { ?>
  <?php echo $row_mail['email']; ?> <?php } while ($row_mail mysql_fetch_assoc($mail)); ?>
y me impirme en pantalla todos los registros.

Ahora le coloco el codigo para que me envie el e-mail y me queda asi
Código PHP:
<?php do { ?>
  <?php echo $row_mail['email']; ?>
  
  <?php  $mail=$row_mail['email'];
 
$asunto=$_POST['asunto'];
 
$texto=$_POST['mensaje'];
 

 
$sfrom="[email protected]"//cuenta que envia 
$sdestinatario="$mail"//cuenta destino 
$ssubject="prueba"//subject 
$shtml='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title></title>
</head>

<body>
</body>
</html>'
//mensaje 
$sheader="From:".$sfrom."\nReply-To:".$sfrom."\n"
$sheader=$sheader."X-Mailer:PHP/".phpversion()."\n"
$sheader=$sheader."Mime-Version: 1.0\n"
$sheader=$sheader."Content-Type: text/html"
mail($sdestinatario,$ssubject,$shtml,$sheader);

?>

  

  <?php } while ($row_mail mysql_fetch_assoc($mail)); ?>
pero cuando le coloco el codigo para enviar eñ e-mail solo me lo envia al primero de la lista y me imprime solo 1.
Alguna ayuda?
gracias
  #2 (permalink)  
Antiguo 23/07/2010, 10:24
Avatar de dargor  
Fecha de Ingreso: octubre-2009
Mensajes: 134
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Enviar e-mail a una lista

creo que deberias poner un contador que vaya sumando uno cada vez que envia un correo, y al final comparar con $totalRows_mail
Código PHP:
Ver original
  1. <?php } while ($contador <= $totalRows_mail); ?>
  #3 (permalink)  
Antiguo 23/07/2010, 10:39
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: Enviar e-mail a una lista

Me puedes decir como hacerlo? no se exactamente como hacer que cuente. Puedes ponerme el codigo para probar?
un saludo
  #4 (permalink)  
Antiguo 23/07/2010, 10:45
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: Enviar e-mail a una lista

Lo he probado y no funciona, al colocar
Código PHP:
 <?php } while ($contador <= $totalRows_mail); ?>
lo que hace es enviame muchos e-mails a solo la primera cuenta de correo.
  #5 (permalink)  
Antiguo 23/07/2010, 10:48
Avatar de chulifo  
Fecha de Ingreso: abril-2009
Ubicación: perdido en codigos del PHP, pero aprendo rapido!
Mensajes: 524
Antigüedad: 15 años
Puntos: 18
Respuesta: Enviar e-mail a una lista

Código PHP:
Ver original
  1. <?php
  2. mysql_select_db($database_tengo, $tengo);
  3. $query_mail = "SELECT * FROM prueba_email";
  4. $mail = mysql_query($query_mail, $tengo) or die(mysql_error());
  5.  
  6. while($row = mysql_fetch_array($mail)){
  7.  
  8.  $mail=$row['email'];
  9.  $asunto=$_POST['asunto'];
  10.  $texto=$_POST['mensaje'];
  11.  
  12.  
  13.  $sfrom="[email protected]"; //cuenta que envia
  14. $sdestinatario="$mail"; //cuenta destino
  15. $ssubject="prueba"; //subject
  16. $shtml='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  17. <html xmlns="http://www.w3.org/1999/xhtml">
  18. <head>
  19. <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
  20. <title></title>
  21. </head>
  22.  
  23. <body>
  24. </body>
  25. </html>'; //mensaje
  26. $sheader="From:".$sfrom."\nReply-To:".$sfrom."\n";
  27. $sheader=$sheader."X-Mailer:PHP/".phpversion()."\n";
  28. $sheader=$sheader."Mime-Version: 1.0\n";
  29. $sheader=$sheader."Content-Type: text/html";
  30. mail($sdestinatario,$ssubject,$shtml,$sheader);
  31.  
  32.  
  33. }
  34.  
  35. ?>

Última edición por chulifo; 23/07/2010 a las 16:03
  #6 (permalink)  
Antiguo 23/07/2010, 12:16
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: Enviar e-mail a una lista

Nada, no funciona. solo me envia al primer registro, pero si no pongo el
Código PHP:
WHILE 
si coloco el WHILE no me hace nada
  #7 (permalink)  
Antiguo 23/07/2010, 16:02
Avatar de chulifo  
Fecha de Ingreso: abril-2009
Ubicación: perdido en codigos del PHP, pero aprendo rapido!
Mensajes: 524
Antigüedad: 15 años
Puntos: 18
Respuesta: Enviar e-mail a una lista

lo siento acabo de editar mi post prueba asi como te lo puse de nuevo!

Etiquetas: e-mail, enviar, lista
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:19.