Foros del Web » Programando para Internet » PHP »

Enviar mensaje a 2 ó mas destinatarios

Estas en el tema de Enviar mensaje a 2 ó mas destinatarios en el foro de PHP en Foros del Web. Quiero enviar un mensaje a varios destinatarios y solo encontre esta manera Código PHP: // multiples recipientes $para   =  '[email protected]'  .  ', ' ;  // note la coma $para  .=  '[email protected]' ...
  #1 (permalink)  
Antiguo 30/06/2008, 17:42
 
Fecha de Ingreso: febrero-2008
Mensajes: 303
Antigüedad: 16 años, 8 meses
Puntos: 2
Enviar mensaje a 2 ó mas destinatarios

Quiero enviar un mensaje a varios destinatarios y solo encontre esta manera
Código PHP:
// multiples recipientes
$para  '[email protected]', '// note la coma
$para .= '[email protected]';

//de esta forma solo se envia el 1er correo
//$para = "[email protected],[email protected]"; 
El problema biene si quiero sacar los correos de un archivo de texto.txt, como soluciono esto?
Mejor se puede usar la funcion mail para enviar correos desde un .txt
  #2 (permalink)  
Antiguo 30/06/2008, 20:38
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 18 años, 4 meses
Puntos: 19
De acuerdo Respuesta: Enviar mensaje a 2 ó mas destinatarios

Código PHP:
<?
$divisor 
", "//Supongamos que los emails estan separados en el archivo de texto por una coma seguida de un espacio
$archivo "mails.txt"//archivo donde estan los mails
$abrir fopen($archivo"r");//abrimos el archivo como lectura solamemte
while($leerfread($abrirfilesize($archivo)))
{
   
$mails .= $leer;  //acumulamos los mails
}
fclose($abrir); //cerramos el archivo
$mails explode($divisor$mails); //separamos los emails, con el separador que establecimos mas arriba

foreach($mails as $mail//enviamos los correos a cada un ode los emails
{
     
mail($mail"asunto""mensaje""From: [email protected]"); //esto editalo a tu gusto, el asunto, mensaje y el From, o las cabeceras que quieras aagregar
}
?>
Suerte, espero que te haya ayudado, lo arme recien asi que si tiene algun error avisame, igualmente si te sirvio decimelo! ;) chau!
  #3 (permalink)  
Antiguo 30/06/2008, 21:26
 
Fecha de Ingreso: febrero-2008
Mensajes: 303
Antigüedad: 16 años, 8 meses
Puntos: 2
De acuerdo Respuesta: Enviar mensaje a 2 ó mas destinatarios

bien korg1988 ya solucione el problema, gracias por responder, ahora me surge otra duda como hago para saber si todos lo mensajes se enviaron coorectamente ó al menos cuales fueron enviados, por ejemplo por mala sintaxis, por q no existe, y cuantos mensajes fueron enviados correctamente

saludos

Última edición por KingColt; 30/06/2008 a las 22:20
  #4 (permalink)  
Antiguo 30/06/2008, 23:38
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 18 años, 4 meses
Puntos: 19
Respuesta: Enviar mensaje a 2 ó mas destinatarios

Ahi me mataste, no soy especialista en Emails con php. jeje

Pd: hacia tiempo que no nos cruzabamos kingcolt.
Saludos
  #5 (permalink)  
Antiguo 01/07/2008, 02:39
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 8 meses
Puntos: 25
Respuesta: Enviar mensaje a 2 ó mas destinatarios

$korreo = mail($mail, "asunto", "mensaje", "From: [email protected]");

if($korreo){
echo "bueno";
}else{
echo "problemas";
}
__________________
Hospedaje Web al mejor costo!
  #6 (permalink)  
Antiguo 01/07/2008, 06:11
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Enviar mensaje a 2 ó mas destinatarios

Dentro del foreach agrega una variable que vaya sumandose si efectivamente se envia el mail y otra variable para los que no... De esa manera tienes la informacion de cuantos se enviaron y cuantos no... si quieres seguir detallando informacion para saber a quienes no se enviaron... puedes hacerte un arreglo y poner el mail que ha fallado con mayor informacion.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #7 (permalink)  
Antiguo 01/07/2008, 09:54
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 18 años, 4 meses
Puntos: 19
Respuesta: Enviar mensaje a 2 ó mas destinatarios

ahhh eso es lo que querias hacer? jajaja es facil metes el mail en un if :P

if(@mail(lalalal))
{
el mail se envio bien
} else
{
se envio mal
}

PD: que grocho fui escribiendo asi jaja
  #8 (permalink)  
Antiguo 01/07/2008, 16:58
 
Fecha de Ingreso: febrero-2008
Mensajes: 303
Antigüedad: 16 años, 8 meses
Puntos: 2
Respuesta: Enviar mensaje a 2 ó mas destinatarios

Entiendo la idea pero, como haria la comprobacion de que la funcion mail devolvio true, a estas alturas ya estoy con dolor de cabeza si no es una cosa es otra!

Código PHP:
foreach($mails as $mail)
{
   
$send mail($mail,$titulo,$mensaje,$headers);
   if(
$send){//como compruebo aquí?
   
echo "bueno";
   }else{
   echo 
"problemas";
   }
}
//siempre devuelve bueno bueno ....... 
  #9 (permalink)  
Antiguo 01/07/2008, 19:10
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 8 meses
Puntos: 25
Respuesta: Enviar mensaje a 2 ó mas destinatarios

devuelve bueno pero si envia los correos o no los envia?
__________________
Hospedaje Web al mejor costo!
  #10 (permalink)  
Antiguo 01/07/2008, 19:18
 
Fecha de Ingreso: febrero-2008
Mensajes: 303
Antigüedad: 16 años, 8 meses
Puntos: 2
Respuesta: Enviar mensaje a 2 ó mas destinatarios

Cita:
Iniciado por urgido Ver Mensaje
devuelve bueno pero si envia los correos o no los envia?
Osea siempre devuelve true y nunca llega a la otra condicion false por ejemplo en el archivo de texto hay 2 correos
[email protected]; wezAexample.com
devuelve bueno bueno es decir el 2do correo no se envia a ningun lado y aun asi devuelve bueno
  #11 (permalink)  
Antiguo 01/07/2008, 19:56
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 18 años, 4 meses
Puntos: 19
De acuerdo Respuesta: Enviar mensaje a 2 ó mas destinatarios

Código PHP:
$problemas = array();
foreach(
$mails as $mail)
{
    if(!@
mail($mail,$titulo,$mensaje,$headers)) //Si hubo algun problema entonces lo agrega a la lista de problemas
    
{
        
$problemas[] = $mail;
    }
}

echo 
"Se enviaron los correos <br />";
if(
sizeof($problemas) > 0)
{
    echo 
"Hubo problemas enviando los siguientes correos: <br />";
    foreach(
$problemas as $mail)
    {
        echo 
$mail."<br />";
    }

proba este script que arme recien
  #12 (permalink)  
Antiguo 01/07/2008, 21:05
 
Fecha de Ingreso: febrero-2008
Mensajes: 303
Antigüedad: 16 años, 8 meses
Puntos: 2
Respuesta: Enviar mensaje a 2 ó mas destinatarios

Que tal korg1988, crei que ya habias resuelto el problema, pero el codigo no funciono gracias igualmente.

Investigando encontre que a la funcion mail le da igual si el correo existe ó no por lo que busque si un correo esta activo y encontre este post no resuelto.

Tambien encontre una aplicacion online, pero imposible verificar los emails uno por uno.

Esta pregunta ya esta fuera del tema pero la formulo igual.
Como verificar una lista de correos de un archivo de texto o una base de datos esta activa bloqueada o no existe con php?
  #13 (permalink)  
Antiguo 01/07/2008, 21:08
 
Fecha de Ingreso: junio-2008
Mensajes: 25
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Enviar mensaje a 2 ó mas destinatarios

esta funcion te revisa que el mail sea válido y exista. ojala sirva


// funcion valida email
function validar_email($email){

$exp = "^[a-z\'0-9]+([._-][a-z\'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$";

if(eregi($exp,$email)){

if(checkdnsrr(array_pop(explode("@",$email)),"MX") ){
return true;
}else{
return false;
}

}else{

return false;

}
}
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 22:10.