Foros del Web » Programando para Internet » PHP »

Problema con mail() en bucle

Estas en el tema de Problema con mail() en bucle en el foro de PHP en Foros del Web. Hola tengo un problema a la hora de mandar un email a mis contactos de mi BBDD. Cuando hago el bucle el From con la ...
  #1 (permalink)  
Antiguo 22/03/2011, 13:11
 
Fecha de Ingreso: enero-2011
Ubicación: España
Mensajes: 17
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Problema con mail() en bucle

Hola tengo un problema a la hora de mandar un email a mis contactos de mi BBDD. Cuando hago el bucle el From con la informacion de quien lo manda se me repite tantas veces como registros salen en la consulta. O sea, el primero sale una vez, el segundo sale dos veces, etc...

Alguna idea de donde la estoy cagando?. Os agradecería mucho si me echáis un cable.
Gracias



<?
include "conecta_bbdd.php"; //conecto
$from= 'Miweb.com <[email protected]>';
$result=mysql_query("SELECT * FROM chiste WHERE id_interfase = '4' ");
while ($row=mysql_fetch_array($result))
{
$email1 = $row['email1'];

$para = $email1;
$asunto = 'Noticias ';
$cabeceras .= "To:\r\n";
$cabeceras .= "Bcc: \r\n";
$cabeceras .= "From: ".$from."\r\n";
$cabeceras .= "Content-type: text/html; charset=UTF-8\r\n";
$cuerpo = 'Lo que sea';
//mando el correo...
mail($para, $asunto, $cuerpo, $cabeceras);

mysql_close();
?>
  #2 (permalink)  
Antiguo 22/03/2011, 14:00
Avatar de yeudiel  
Fecha de Ingreso: abril-2008
Ubicación: Ciudad de México
Mensajes: 78
Antigüedad: 16 años
Puntos: 1
Respuesta: Problema con mail() en bucle

Saca las cabeceras del while, las estas concatenando en cada bucle, las cabeceras como no cambian las puedes declarar una vez fuera del bucle, el problema es que para las cabeceras usas .= que hace q concatenen, solo declaralas antes del while y vas a ver que queda. :P

Saludos

Última edición por yeudiel; 22/03/2011 a las 14:03 Razón: complemento de info
  #3 (permalink)  
Antiguo 22/03/2011, 14:32
 
Fecha de Ingreso: enero-2011
Ubicación: España
Mensajes: 17
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Problema con mail() en bucle

Gracias. Ya lo solucioné. Le quité las cabeceras y le puse esto denbtro del bucle pero en la parte final en vez de al principio:
$de = "From: loque sea<[email protected]>\r\n";
$de .= "Content-type: text/html; charset=UTF-8\r\n";
mail($para, $asunto, $cuerpo, $de);

Básicamente es lo mismo pero tal y como dices lo que influye es el orden a la hora de situarlo.

Muchas gracias por todo.

Un abrazo,

Etiquetas: bucle, mail
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 02:12.