Foros del Web » Programando para Internet » PHP »

enviar a varios mails por que no sale

Estas en el tema de enviar a varios mails por que no sale en el foro de PHP en Foros del Web. hola.un saludo...tengo un problema con este codigo alguien sabe por que no envia digamos a 8 mail que le ponga. lo he estado poneindo asi ...
  #1 (permalink)  
Antiguo 14/11/2005, 13:54
Avatar de allan0254  
Fecha de Ingreso: enero-2002
Ubicación: lima-peru
Mensajes: 114
Antigüedad: 22 años, 3 meses
Puntos: 0
enviar a varios mails por que no sale

hola.un saludo...tengo un problema con este codigo

alguien sabe por que no envia digamos a 8 mail que le ponga.
lo he estado poneindo asi
$MailToAddress = "[email protected]";
$MailToAddress = "[email protected]";
$MailToAddress = "[email protected]";
$MailToAddress = "[email protected]";

al principio me enviaba a 3 de 4 despues solo a 1 despues solo al ultimo...
lashe puesto en unalinea--pero tampoco..cuando pongo solo un correo es todo perfecto.. has redirecciona a la pagina que yo quiero..pero lo ideas es que del formulario que tengo me envie a los 4 correos o mas que he creado...
alguien se ha chocado con esto...

un saludo.


<?php
# Configurar estos datos
$MailToAddress = ""; // Tu direccion de Email donde recibiras la informacion cuando llenen el formulario
$redirectURL = ""; // Poner la direccion de la pagina web de agradecimiento.
$MailSubject = "neumandina"; // El titulo del Correo electronico que recibirá

# copyright 2005 Web4Future.com ================================================== ===============================================

# Si tu preguntas por el nombre y email en tu formulario, tu puedes nombrar esos campos como "name" y "email" respectivamente.
# Si tu haces esto, El mensaje aparecerá proveniente de la direccion que llenaron y tu con un simple clic en el boton de Responder puedes contestar el email.
# El nombre campo del correo electronico no deberá cambiarse, que por defecto es "email". Si lo cambia puede que el formulario no funcione

# To block an IP, simply add it to the blockip.txt text file.

# If you have a multiple selection box or multiple checkboxes, you MUST name the multiple list box or checkbox as "name[]" instead of just "name"
# you must also add "multiple" at the end of the tag like this: <select name="myselectname[]" multiple>
# you have to do the same with checkboxes

# This script was written by George A. & Calin S. from Web4Future.com
# Traduccion y modificaciones hechas por Hostingperu.com.pe.

/************************************************** ***************

Web4Future Easiest Form2Mail (GPL).
Copyright (C) 1998-2005 Web4Future.com All Rights Reserved.
http://www.Web4Future.com/

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

************************************************** ***************/

# DO NOT EDIT BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING ================================================== =
$w4fver = "2.0.3";
$w4fx = strrchr(file_get_contents('blockip.txt'),getenv('R EMOTE_ADDR'));

if (preg_match ("/".str_replace("www.", "", $_SERVER["SERVER_NAME"])."/i", $_SERVER["HTTP_REFERER"]) && ($w4fx === FALSE)) {
$w4fMessage = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\"><html>\n<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\"></head><body>\n";
if (count($_GET) >0) {
reset($_GET);
while(list($key, $val) = each($_GET)) {
$GLOBALS[$key] = $val;
if (is_array($val)) {
$w4fMessage .= "<b>$key:</b> ";
foreach ($val as $vala) {
$vala =stripslashes($vala);
$vala = htmlspecialchars($vala);
$w4fMessage .= "$vala, ";
}
$w4fMessage .= "<br>\n";
}
else {
$val = stripslashes($val);
if (($key == "Submit") || ($key == "submit")) { }
else { if ($val == "") { $w4fMessage .= "$key: - <br>\n"; }
else { $w4fMessage .= "<b>$key:</b> $val<br>\n"; }
}
}
} // end while
}//end if
else {
reset($_POST);
while(list($key, $val) = each($_POST)) {
$GLOBALS[$key] = $val;
if (is_array($val)) {
$w4fMessage .= "<b>$key:</b> ";
foreach ($val as $vala) {
$vala =stripslashes($vala);
$vala = htmlspecialchars($vala);
$w4fMessage .= "$vala, ";
}
$w4fMessage .= "<br>\n";
}
else {
$val = stripslashes($val);
if (($key == "Submit") || ($key == "submit")) { }
else { if ($val == "") { $w4fMessage .= "$key: - <br>\n"; }
else { $w4fMessage .= "<b>$key:</b> $val<br>\n"; }
}
}
} // end while
}//end else
$w4fMessage .= "<font size=3D1><br><br>\n Sender IP: ".getenv('REMOTE_ADDR')."</font></font></body></html>";
$w4f_what = array("/To:/i", "/Cc:/i", "/Bcc:/i","/Content-Type:/i","/\n/");
$name = preg_replace($w4f_what, "", $name);
$email = preg_replace($w4f_what, "", $email);
if (!$email) {$email = $MailToAddress;}
$mailHeader = "From: $name <$email>\r\n";
$mailHeader .= "Reply-To: $name <$email>\r\n";
$mailHeader .= "Message-ID: <". md5(rand()."".time()) ."@". ereg_replace("www.","",$_SERVER["SERVER_NAME"]) .">\r\n";
$mailHeader .= "MIME-Version: 1.0\r\n";
$mailHeader .= "Content-Type: multipart/alternative;";
$mailHeader .= " boundary=\"----=_NextPart_000_000E_01C5256B.0AEFE730\"\r\n";
$mailHeader .= "X-Priority: 3\r\n";
$mailHeader .= "X-Mailer: PHP/" . phpversion()."\r\n";
$mailHeader .= "X-MimeOLE: Produced By Web4Future Easiest Form2Mail $w4fver\r\n";
$mailMessage = "This is a multi-part message in MIME format.\r\n\r\n";
$mailMessage .= "------=_NextPart_000_000E_01C5256B.0AEFE730\r\n";
$mailMessage .= "Content-Type: text/plain; charset=\"ISO-8859-1\"\r\nContent-Transfer-Encoding: quoted-printable\r\n\r\n";
$mailMessage .= strip_tags($w4fMessage)."\r\n\r\n";
$mailMessage .= "------=_NextPart_000_000E_01C5256B.0AEFE730\r\n";
$mailMessage .= "Content-Type: text/html; charset=\"ISO-8859-1\"\r\nContent-Transfer-Encoding: quoted-printable\r\n\r\n";
$mailMessage .= "$w4fMessage\r\n\r\n";
$mailMessage .= "------=_NextPart_000_000E_01C5256B.0AEFE730--\r\n";

if (!mail($MailToAddress, $MailSubject, $mailMessage,$mailHeader)) { echo "Error sending e-mail!";}
else { header("Location: ".$redirectURL); }
} else { echo "<center><font face=verdana size=3 color=red><b>ILLEGAL EXECUTION DETECTED!</b></font></center>";}
?>
  #2 (permalink)  
Antiguo 14/11/2005, 14:12
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
$MailToAddress es una variable. Cuando la seteas al inicio con varios mails, estas resetendola, no concatenándole contenido.
O sea:
$MailToAddress = "[email protected]";
$MailToAddress = "[email protected]";
$MailToAddress = "[email protected]";
$MailToAddress = "[email protected]";
Si hago echo $MailToAddress; obtendré unicamente [email protected].

De todas maneras esta declaración no te sirbe, deberías hacer un array, algo así:
$MailToAddress = array('[email protected]','[email protected]');
Y luego, cuando llamas a la funcion mail, deberías hacer un for/foreach sobre esto, algo así:
foreach( $MailToAddress as $email ){
mail($email, $MailSubject, $mailMessage,$mailHeader)
}

Espero que hayas comprendido, saludos.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 15/11/2005, 18:24
Avatar de allan0254  
Fecha de Ingreso: enero-2002
Ubicación: lima-peru
Mensajes: 114
Antigüedad: 22 años, 3 meses
Puntos: 0
hola gracias por la respuesta....voy a probarlo....
no tendras un codigo ya completo....con el resultado que estoy buscando


un saludo
  #4 (permalink)  
Antiguo 15/11/2005, 18:36
 
Fecha de Ingreso: noviembre-2005
Mensajes: 19
Antigüedad: 18 años, 5 meses
Puntos: 0
Si lo intentas tu sera más divertido :D.

Prueba a meter el codigo que prepara el envio en una función donde le pases por parametros el asunto,mensaje,correo destinatario y más cosas que necesites.

Luego puedes hacer de llamar 4 veces a la función cada vez con un correo ó de hacer un for que recorras un array y en ese array tengas los 4 correos y vas llamando por cada pasada a la funcion, o usar recursividad.

Espero que te aclares para resolverlo
  #5 (permalink)  
Antiguo 15/11/2005, 18:41
Avatar de DvD AdN  
Fecha de Ingreso: mayo-2005
Ubicación: Frente al monitor
Mensajes: 610
Antigüedad: 18 años, 11 meses
Puntos: 0
Creo que con la función mail de php puedes enviar varios mails así:

mail('[email protected];[email protected];email3@algo. com',$asunto,$mensaje,$cabeceras)

Si me equivoco, perdoón
__________________
Keep f***ing learning
Ask for f***ing help.
Use f***ing spell check.
Think about all the f***ing possibilities.
  #6 (permalink)  
Antiguo 15/11/2005, 18:57
 
Fecha de Ingreso: noviembre-2005
Mensajes: 19
Antigüedad: 18 años, 5 meses
Puntos: 0
también puedes enviarle una cabecera en la que incluyas los parametros
Cc: [email protected] y/ó Bcc: [email protected] y separando los correos por comas.

También mira en la pagina de php.net de la funcion mail
encontraras mucha ayuda
  #7 (permalink)  
Antiguo 17/11/2005, 17:55
Avatar de allan0254  
Fecha de Ingreso: enero-2002
Ubicación: lima-peru
Mensajes: 114
Antigüedad: 22 años, 3 meses
Puntos: 0
he tratado de probarlo pero me entrvere mucho...

estoy probando este codigo y esta todo bien...pero no logro conseguier un redireccionamiento a la web que quiera despues del envio ..donde estaria el arreglo



<html>
<head>
<title>enviamail.php</title>
</head>
<body bgcolor="#687B8C">
<?php
$mensa = "SOLICITUD DE CONSULTA" . CHR(13) . CHR(10);
$mensa = $mensa . "---------------------" . CHR(13) . CHR(10);
// leemos los datos del formulario y guardamos en las variables
$nombre = $HTTP_POST_VARS["nombres"];
$direccion = $HTTP_POST_VARS["direccion"];
$ciudad = $HTTP_POST_VARS["ciudad"];
$pais = $HTTP_POST_VARS["pais"];
$codigo = $HTTP_POST_VARS["codigo"];
$correo = $HTTP_POST_VARS["correo"];
$consulta = $HTTP_POST_VARS["consulta"];
// armamos el cuerpo del mensaje
$mensa = $mensa . "Nombre: " . $nombre . CHR(13) . CHR(10);
$mensa = $mensa . CHR(13) . CHR(10);
$mensa = $mensa . "Direccion: " . $direccion . CHR(13) . CHR(10);
$mensa = $mensa . CHR(13) . CHR(10);
$mensa = $mensa . "Ciudad: " . $ciudad . CHR(13) . CHR(10);
$mensa = $mensa . CHR(13) . CHR(10);
$mensa = $mensa . "Pais: ". $pais . CHR(13) . CHR(10);
$mensa = $mensa . CHR(13) . CHR(10);
$mensa = $mensa . "Codigo Postal: ". $codigo . CHR(13) . CHR(10);
$mensa = $mensa . CHR(13) . CHR(10);
$mensa = $mensa . "Telefono: ". $telefono . CHR(13) . CHR(10);
$mensa = $mensa . CHR(13) . CHR(10);
$mensa = $mensa . "E-Mail: ". $correo . CHR(13) . CHR(10);
$mensa = $mensa . CHR(13) . CHR(10);
$mensa = $mensa . "Consulta: ". $consulta . CHR(13) . CHR(10);
$mensa = $mensa . CHR(13) . CHR(10);
$mensa = $mensa . "---------------------" . CHR(13) . CHR(10);
// enviamos el mensaje. reemplazar con los datos de tu correo
$envio = mail("[email protected]","Asunto del Mensaje",$mensa);
?>
<center>
<table bgcolor="#687B8C" border=0 height="100%" width="750">
<TR width="100%">
<TD width="10%">&nbsp;</TD>
</TR>
<TR width="100%">
<TD width="100%" align="center"><font color="#000099" face="Verdana, Arial" style="font-size:12pt">
<?php
// mensaje si el envio fue exitoso
if ($envio=1) {
echo '<BR><b>Su Mensaje ha sido enviado con exito</b>';
?>
<br>
Su consulta esta siendo procesada y le responderemos a la brevedad.<br><br>Gracias por contactarse con nosotros.
<?php
}
// mensaje si el envio dio error
else {
echo '<b>Se produjo un error y su Mensaje no pudo ser enviado</b>';
}
?><br><br>
<a href="http://prueba.com">Volver prueba</a></font>
</TD>
</TR>
</TABLE>
</center>

</body>
</html>
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 19:20.