Envío de mensajes masivos a todos los registros

Esta bien este script para envío de mails de propaganda masivos a todos los registros de una base de datos
no me tira error pero tampoco llegan
<?php
$link = mysql_connect("mysql7.000webhost.com", "a5997364_yiyo", "123aassdd");
mysql_select_db("a5997364_prueba");
 $sql= "SELECT * FROM usuarios";
 $res = mysql_query($sql);
$contenido = "Propaganda";
$headers = "MIME-Version: 1.0\r\n";
 $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
 while($row = mysql_fetch_assoc($res)){ mail($row["email_sql"],"Asunto","$contenido",$headers); }
 ?>

1 Respuesta

Respuesta
Me parece bien tu código aunque sinceramente hay partes que no las entiendo muy bien como la del ciclo while, de cualquier forma te propongo estos códigos:
<?
mail("[email protected],[email protected]","asunto","Aqui va el mensaje")
?>
Tambien pudes intentar con este otro para enviar en html:
<?
$destinatario = "[email protected]";
$asunto = "prueba";
$cuerpo = '
<html>
<head>
<title>Prueba de correo</title>
</head>
<body>
<h1>Hola esta es una prueba</h1>
<p>
<b>Este es un correo electrónico de prueba</b>. Aqui va el cuerpo del mensaje....
</p>
</body>
</html>
';
//para el envío en formato HTML
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
//dirección del remitente
$headers .= "From: bOrgiR <[email protected]>\r\n";
//aqui puedes cambiar la direccion del remitente
$headers .= "Reply-To: [email protected]\r\n";
//ruta del mensaje desde origen a destino
$headers .= "Return-path: [email protected]\r\n";
//direcciones que recibián copia
$headers .= "Cc: [email protected]\r\n";
//direcciones que recibirán copia oculta
$headers .= "Bcc: [email protected]\r\n";
mail($destinatario,$asunto,$cuerpo,$headers)
?>
Para añadir los corroes si es que son muchos puedes hacer una consulta como la que tienes en tu código para extraer todos los mails de tu base de datos y poner el resultado en mail ("$resultado_consulta", "asunto", "mensaje")
También cabe señalar que debes de configurar el archivo php.ini para configurar el dominio del servidor SMTP poniendo en este caso el nombre o ip de tu dominio o si es de forma local entonces "localhost" si es un hosting de pago lo más probable es que ya lo tengan configurado si no, hay que pedirle al administrador del hosting que lo haga.
Bueno de momento es todo lo que se me ocurre... espero haberte ayudado aunque sea un poco... suerte!
Atentamente: bOrgiR
Lo del ciclo while es para que mande un mail mientras exista un registro en la bd, pero no me funciono . No se como hacerlo, recién estoy empezando con php y no todos los códigos que encuentro en internet me funcionan . Fíjate si al que yo puse primero lo podes mejorar para que funcione, me guio mucho más con ese.
Saludos
Ok... si mira tu script es muy parecido al primero que te propuse lo que puedes hacer estas modificaciones:
<?php
$link = mysql_connect("mysql7.000webhost.com", "a5997364_yiyo", "123aassdd");
mysql_select_db("a5997364_prueba");
 $sql= "SELECT * FROM usuarios";
 $res = mysql_query($sql); //suponiendo que esta consulta extraiga las direcciones de correo electronico
mail("$res","prueba","Aqui va el contenido del mensaje")
 ?>
Aunque sinceramente no lo he probado, es una posibilidad...
Este ultimo script anda cuando cambio mi dir de correo por donde dice "$res" en mail . O sea que es correcto pero no manda a todos los contactos pero tampoco tira error.
Mmm... es que se supone que no deberías de cambiar nada en $res, porque esta variable contiene todas las direcciones de correo a las que se va enviar el mensaje siempre y cuando la consulta que tienes contenga todos esos mails, si no es así, entonces tendrás que agregar todas las direcciones de correo manualmente separadas por comas, por ejemplo mail("[email protected], [email protected], [email protected]", "Aquí va el asunto", "Aquí escribes el mensaje...")
Si es así entonces la consulta esta por demás y es que aun desconozco la finalidad de esa consulta... n_n...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas