Foros del Web » Programando para Internet » PHP »

mail

Estas en el tema de mail en el foro de PHP en Foros del Web. Ufff....... Estoy enviando correo masivo. Tengo que recojer de una db los cooreos entonces: mail($row_email['email'].";", "Desde el sitio xxxx", $contenido, "From: [email protected] \nContent-type: text/html; charset=iso-8859-1"); ...
  #1 (permalink)  
Antiguo 17/07/2003, 11:15
 
Fecha de Ingreso: agosto-2001
Ubicación: Santiago de Chile
Mensajes: 98
Antigüedad: 22 años, 7 meses
Puntos: 0
mail

Ufff.......

Estoy enviando correo masivo.
Tengo que recojer de una db los cooreos entonces:

mail($row_email['email'].";", "Desde el sitio xxxx", $contenido, "From: [email protected]\nContent-type: text/html; charset=iso-8859-1");


escribí este cógo, pero solo me manda al primer correos de la db.


conque encadeno $row_email['email'] para que me envie a todos los mail?

con .", "
o con ; o con tro?

gracias
__________________
maguak
  #2 (permalink)  
Antiguo 17/07/2003, 11:18
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años
Puntos: 2
debe ser x el desplazamiento:

Código PHP:
$sql=mysql_query("SELECT email FROM tabla");
while(
$row=mysql_fetch_array($sql)){
$correos=$row['email'];
}
mail("$correos""Desde el sitio xxxx"$contenido"From: [email][email protected][/email]\nContent-type: text/html; charset=iso-8859-1"); 
echo "enviados con exito";

Salu2
__________________
http://www.chorcha.com

Última edición por camargo; 17/07/2003 a las 11:21
  #3 (permalink)  
Antiguo 17/07/2003, 14:01
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Carmago, se te ha olvida concatenarlos. Creo que es con ',', asi que quedaria:
Código PHP:
$sql=mysql_query("SELECT email FROM tabla");

while(
$row=mysql_fetch_array($sql)){

$correos.=$row['email'].',';

}

$correos=substr($correos,0, -1);  // eliminamos la ultima ',' que sobra
mail("$correos""Desde el sitio xxxx"$contenido"From: [email][email protected][/email]\nContent-type: text/html; charset=iso-8859-1"); 
Con esto deberia funcionar.

Pero no recomiendo este metodo. ¿Por que? Porque le estas enviando toda la lista de direcciones de email a todo el mundo. Aparte que eso es distribuir informacion personal, si un spammer se recibe tu correo, podra añadir esas direcciones a su lista de victimas.

Por eso es mejor poner en el To una direccion tuya y pasar la lista de destinatarios por la cabecera BCC (Blind Carbon Copy, el CCO en castellano). Asi no le llega la lista de correos:
Código PHP:
$sql=mysql_query("SELECT email FROM tabla");

while(
$row=mysql_fetch_array($sql)){

$correos.=$row['email'].',';

}

$correos=substr($correos,0, -1);  // eliminamos la ultima ',' que sobra
mail('[email protected]'"Desde el sitio xxxx"$contenido"From: [email][email protected][/email]\nBcc: $correos\nContent-type: text/html; charset=iso-8859-1"); 
Puede que tengas problemas si tu lista de correos es muy grande creo que hay limite para lo que se puede poner en esa cabecera. En ese caso es recomendable mandar los emails en "paquetitos" primero se lo mandas a 10 (en el BCC), luego a otros 10, y asi hasta acabar. Lo puedes hacer todo en el mismo bucle (enviando cada 10 registros) o en distintas paginas realizando otra vez la consulta y enviando solo a los 10 que tocan (usando LIMIT en la consulta). Dependiendo donde se vaya a ejecutar el script, es mejor una que otra.

Espero haber sido de ayuda.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 03:39.