Foros del Web » Programando para Internet » PHP »

Newsletter, pausar envio de emails

Estas en el tema de Newsletter, pausar envio de emails en el foro de PHP en Foros del Web. Hola! mi consulta es la siguiente: Tengo que enviar todos los meses un newsletter a unas 100 direcciones de e-mails los mismos los tengo en ...
  #1 (permalink)  
Antiguo 17/08/2008, 03:43
Avatar de AJVEvoluzione  
Fecha de Ingreso: agosto-2004
Ubicación: Buenos Aires
Mensajes: 195
Antigüedad: 19 años, 8 meses
Puntos: 1
Pregunta Newsletter, pausar envio de emails

Hola! mi consulta es la siguiente:
Tengo que enviar todos los meses un newsletter a unas 100 direcciones de e-mails los mismos los tengo en un archivo .txt uno abajo del otro, mi consutla es como puedo hacer para que tome la primer direccion del txt envie el email haga una pausa luego tome la segunda direccion envie el email haga una pausa... así hasta llegar al último y al finalizar me avise que todo salio bien?
Desde ya gracias para quien pueda ayudarme.
  #2 (permalink)  
Antiguo 17/08/2008, 04:39
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Newsletter, pausar envio de emails

Usando sleep(N); con eso consigues una pausa de N milisegundos :) lo pones despues de cada envio para hacer la pausa.


Una pregunta, el newsletter es el mismo para todos los destinatarios??? o lo personalizas?
  #3 (permalink)  
Antiguo 17/08/2008, 05:00
 
Fecha de Ingreso: julio-2008
Mensajes: 28
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Newsletter, pausar envio de emails

Creo que esto te puede ayudar en lo que quieres hacer al leer las lineas:
http://www.webtaller.com/construccion/lenguajes/php/lecciones/leer-archivo-texto-con-php.php

Despues, haces una pausa con sleep() entre los mensajes.

Y con todo ello, has de hacer un bucle y nada mas. si tienes dudas pregunta ^^
  #4 (permalink)  
Antiguo 17/08/2008, 12:16
Avatar de AJVEvoluzione  
Fecha de Ingreso: agosto-2004
Ubicación: Buenos Aires
Mensajes: 195
Antigüedad: 19 años, 8 meses
Puntos: 1
Respuesta: Newsletter, pausar envio de emails

Sí el Newsletter es el mismo para todos, me sirve lo que me dieron pero como debería intercalar la funcion de sleep si quiero que se detenga 3 segundos entre cada envio? ej: sleep(3000)
Entendí que es para contar cuantos mails tengo esta función:

Código PHP:
<? $archivo file("archivo.txt"); $lineas count($archivo); for($i=0$i $lineas$i++){ echo $archivo[$i]; } ?>
El PHP de envio de emails sería este:

Código PHP:
<?PHP 
function GetIP()
{
   if (
getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"),"unknown"))
           
$num getenv("HTTP_CLIENT_IP");
   else if (
getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
           
$num getenv("HTTP_X_FORWARDED_FOR");
   else if (
getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
           
$num getenv("REMOTE_ADDR");
   else if (isset(
$_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
           
$num $_SERVER['REMOTE_ADDR'];
   else
           
$num "unknown";
   
   return(
$num);
}

$destinatario $_POST["email"];
$numGetIp();
$dia=date("d.m.Y");
$hora=date("H:i:s");
$cuerpo '
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>NewsLetter</title>
</head>

<body>

<table border="0" width="100%" height="100%" cellspacing="0" cellpadding="0">
  <tr>
    <td width="100%" valign="top">
    <u><strong>NewsLetter de </strong> '
.$dia.' <strong>a las</strong>
    '
.$hora.' </p>
<td>
  </tr>
</table>
</body>
</html>
'


mail($destinatario,'Newsletter',$cuerpo,"FROM:- MiWeb -<[email protected]>\nMIME-Version: 1.0\nContent-type: text/html; charset=iso-8859-1\nX-Priority: 3\nX-MSMail-Priority: High"); 

?>
Como escribí anteriormente el archiv.txt tiene los e-mails uno abajo del otro.

Última edición por AJVEvoluzione; 17/08/2008 a las 12:17 Razón: Post muy extenso
  #5 (permalink)  
Antiguo 17/08/2008, 13:11
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Newsletter, pausar envio de emails

Entonces, no envies un email a cada direccion, añade las direcciones de email que coges del fichero, y las añades al campo BCC del email, entonces, solo envias uno desde php y el servidor de correo se encarga de que llegue una copia a cada uno de la lista de BCC

No se si me explique bien...?
  #6 (permalink)  
Antiguo 17/08/2008, 14:40
Avatar de AJVEvoluzione  
Fecha de Ingreso: agosto-2004
Ubicación: Buenos Aires
Mensajes: 195
Antigüedad: 19 años, 8 meses
Puntos: 1
Respuesta: Newsletter, pausar envio de emails

Y pero son como 100-200 direcciones, no me sirve enviarlas así
  #7 (permalink)  
Antiguo 17/08/2008, 15:11
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Newsletter, pausar envio de emails

Cita:
Iniciado por AJVEvoluzione Ver Mensaje
Y pero son como 100-200 direcciones, no me sirve enviarlas así
No entiendo por que no te sirve enviarlas asi, si es por una posible saturacion del servidor, pues envialas de 50 en 50, por ejemplo, y haces el sleep cada 50 envios en BCC.

Yo te aconsejo que lo hagas asi, por que me he visto en tu situacion, y piensa una cosa, si en cada email, esperas 3sg. si tienes 200 emails... pues hecha cuentas, tendras un script ejecutandose mas de 10 minutos (los 10 minutos de los sleep mas las pausas en cada envio de la propia funcion mail(), o alguna clase que uses, tipo phpmailer)

Si sigues queriendo hacer un mail por direccion, ya sabes, usas sleep, y ya esta.
  #8 (permalink)  
Antiguo 17/08/2008, 15:48
Avatar de AJVEvoluzione  
Fecha de Ingreso: agosto-2004
Ubicación: Buenos Aires
Mensajes: 195
Antigüedad: 19 años, 8 meses
Puntos: 1
Respuesta: Newsletter, pausar envio de emails

si con sleep sería mejor, el tiempo de envio no importa porque lo haria en horarios que el servidor tenga pocas visitas y creo que tardaria como 15- 20 min en enviar toda la lista, igualmente les pido que me den una mano con el sleep ya que nose bien como integrarlo al php osea que tome una direccion lo envie espere y demás, probé varias formas pero me da error.
  #9 (permalink)  
Antiguo 17/08/2008, 22:02
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
Respuesta: Newsletter, pausar envio de emails

si agregamos muchos sleep() no es posible que se supere el tiempo de ejecucion de scripts de php o sleep() es independiente de ese tiempo?
__________________
On error no hago nada porque deje de fumar...
  #10 (permalink)  
Antiguo 17/08/2008, 23:22
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Newsletter, pausar envio de emails

http://www.php.net/sleep

El tiempo no es en milisegundos. Es en segundos.
  #11 (permalink)  
Antiguo 17/08/2008, 23:46
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Newsletter, pausar envio de emails

Cita:
Iniciado por Ronruby Ver Mensaje
http://www.php.net/sleep

El tiempo no es en milisegundos. Es en segundos.
Tienes razon, el tiempo es en segundos, fallo mio
  #12 (permalink)  
Antiguo 18/08/2008, 11:58
Avatar de AJVEvoluzione  
Fecha de Ingreso: agosto-2004
Ubicación: Buenos Aires
Mensajes: 195
Antigüedad: 19 años, 8 meses
Puntos: 1
Respuesta: Newsletter, pausar envio de emails

Entiendo como funciona el sleep pero no entiendo como incorporarlo para que despues del sleep siga con la siguiente direccion de email
  #13 (permalink)  
Antiguo 18/08/2008, 13:25
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Newsletter, pausar envio de emails

Con un bucle (loop).
Dentro de el bucle pones el sleepa l final, y antes de que el bucle se repita obligatoriamente tiene que esperar a que el tiempo de el sleep se acabe.
  #14 (permalink)  
Antiguo 18/08/2008, 15:31
Avatar de AJVEvoluzione  
Fecha de Ingreso: agosto-2004
Ubicación: Buenos Aires
Mensajes: 195
Antigüedad: 19 años, 8 meses
Puntos: 1
Respuesta: Newsletter, pausar envio de emails

Un bucle loop? sería como ? loop() ?
  #15 (permalink)  
Antiguo 18/08/2008, 15:33
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Newsletter, pausar envio de emails

Cita:
Iniciado por AJVEvoluzione Ver Mensaje
Un bucle loop? sería como ? loop() ?
for, foreach, do ... while, while.

Dale un vistazo a las secciones de la 8.2 a la 8.5 en esta pagina:
http://www.programacionweb.net/cursos/curso.php?num=10
  #16 (permalink)  
Antiguo 04/09/2008, 08:03
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Respuesta: Newsletter, pausar envio de emails

Que tan interesante lo que hace "AJVEvoluzione".
Me podrías explicar como implementas los archivos como sería el envío.
Gracias
__________________
Diseñador Gráfico publicitario
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 17:14.