Foros del Web » Programando para Internet » PHP »

Error al llegar el envío de correos masivos por PHP

Estas en el tema de Error al llegar el envío de correos masivos por PHP en el foro de PHP en Foros del Web. Tengo un problema y es el siguiente tengo un código para enviar mails masivos recogiendo todos los correos desde la base de datos y tengo ...
  #1 (permalink)  
Antiguo 30/05/2008, 10:21
 
Fecha de Ingreso: abril-2008
Mensajes: 2
Antigüedad: 16 años, 1 mes
Puntos: 0
Error al llegar el envío de correos masivos por PHP

Tengo un problema y es el siguiente tengo un código para enviar mails masivos recogiendo todos los correos desde la base de datos y tengo dos usuarios propios para las pruebas, el problema es que cuando llega al segundo mail llegan dos correos, el otro es colocar el mail del usuario para que mire que si viende de mi servidor.


Entonces que puedo hacer para corregir y completar eso?, se poco de php por favor comprendan


El código:
Código PHP:
<?php

//Creamos una condición ordenando al archivo, que si no se ha enviado ningún email deberá mostrar en pantalla el formulario: 

if ($_POST[op] != "send") {
print 
"
<html>Enviar Informes a Usuarios:
<form method=\"post\" action=\"$_SERVER[PHP_SELF]\"  enctype=\"multipart/form-data\">
Asunto: <input type=\"text\" name=\"asunto\"><br>
Cuerpo del Email: 
<br><textarea name=\"cuerpo\" cols=50 rows=10 wrap=virtual></textarea>
<input type=\"hidden\" name=\"op\" value=\"send\">
<input type=\"submit\" name=\"submit\" value=\"Enviar\">
</form>
</html>"
;

//La otra oción es que aparezca enviado.

} else if ($_POST[op] == "send") {

//Ahora comprobamos que los campos asunto y cuerpo están vacíos, si es así se vuelve a mostrar el formulario 

if (($_POST[asunto] =="") || ($_POST[cuerpo] == "")) {
header("Location: mails.php");
exit;
}

//Conectamos con la base de datos donde se encuentran los emails:

$conectar mysql_connect("SERVIDORMYSQL""USUARIOMYSQL""CONTRASEÑAUSERMYSQL") or die(mysql_error());
mysql_select_db("NOMBREBASEDATOS",$conectar) or die(mysql_error());


//Seleccionamos los emails de nuestra base de datos:

$basededatos "select email from usuarios ";
$resultado mysql_query($basededatos,$conectar) or die(mysql_error());

//Creamos la cabecera del email, donde indicamos de donde si envía el email:

//$headers = "From: NOMBRE, en cont&aacute;cto";

//Almacenamos en un array con la función mysql_fetch_array, los emails que anteriormente almacenamos en la variable $resultado, con la función set_time_limit(0) indicamos que no hay límite de tiempo del envío. 

while ($filas mysql_fetch_array($resultado))
 {
set_time_limit(0);
$email $filas['email'];

$fecha date("d-m-Y H:i:s/a");
$mensaje $_POST['cuerpo'];

        
$remitente="[email protected]";
//        $headers = "MIME-Version: 1.0\r\n";
//        $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
        
$headers .= "From: YO <$remitente>\r\n";
//        $headers .= "Return-path: $remitente\r\n"; 
//      $headers .= "Bcc: [email protected]\r\n"; 

$contenido .= "Apreciado usuario, cordial saludo "."\n\n";
$contenido .= "Fecha de envío:  ".$fecha."\n";
$contenido .= "Tu correo es:  ".$mail."\n";          ->>>>>>> ACÁ QUIERO QUE VAYA EL MAIL DE USUARIO QUE LLEGÓ PARA SEGURIDAD
$contenido 
.= "------------------------------------------------------------------ \n";
$contenido .= $asunto."\n";
$contenido .= "-------------------------------------------------------------------\n";
$contenido .= "Tu contraseña es confidencial. NO solicito datos de Cuenta ni contraseña vía e-mail.""\n";

//Finalmente usamos la función mail de php para el envío y ordenamos que nos imprima en pantalla los emails a los que enviamos el mensaje.

$to"$email";

mail($tostripslashes($_POST[asunto]), $contenido$headers);
print 
"Email enviado a: $email<br>";
}
}
?>

Quisiera que me ayueden, evitar la duplicacion del mail al segundo correo y colocar el mail del usuario para verificar seguridad.

Gracias
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 00:30.