Foros del Web » Programando para Internet » PHP »

Consejos para enviar 15.000 emails

Estas en el tema de Consejos para enviar 15.000 emails en el foro de PHP en Foros del Web. Hola Necesito enviar emails a todos mis usuarios (15.000). Utilizo la funcion mail(), pero no acaba de funcionar correctamente. Lo que hago actualmente es mirar ...
  #1 (permalink)  
Antiguo 21/04/2003, 02:41
 
Fecha de Ingreso: enero-2002
Mensajes: 31
Antigüedad: 22 años, 2 meses
Puntos: 0
Consejos para enviar 15.000 emails

Hola

Necesito enviar emails a todos mis usuarios (15.000). Utilizo la funcion mail(), pero no acaba de funcionar correctamente.

Lo que hago actualmente es mirar uno por uno el registro de la base de datos y mandar un mail. Para saber que se ha enviado saco la direccion de correo o el numero de registro por pantalla, pero... se para en el 5.000 por ejemplo, y no se por que (aunque me lo imagino).

Que es mas correcto o menos forzado para la maquina...

- Enviar 15.000 emails de golpe?
- Enviar un mail con 15.000 direcciones ocultas CCC

He pensado incluso hacer una pausa cada 100 emails para que no sobrecargar la maquina (si es ese el problema)

Muchas gracias.
  #2 (permalink)  
Antiguo 21/04/2003, 03:03
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 21 años, 7 meses
Puntos: 8
Si usas un CCO con tantas direcciones es probables que el sendmail del server no te las tome.
Yo lo que haria es una condicion que si se manda el mail guarde en otra BD o archivo de texto que para esa direccion la operacion se completo exitosamente.
Desarrollo mi idea:
1 - Creo un array con las 15000 direcciones (tantas!??)
2 - Hago un foreach con la condicion dentro:
Código PHP:
foreach ($direccionesquequedan as $correo) {
   if ( 
mail(direccionesquequedan ,.......) ) {
      
// guardo en un archivo de texto (lo mas simple) la direccion que se envio
   
}

3 - Antes del paso 2 leo el fichero con las direcciones enviadas con file() entonces alli tengo un array con las direcciones "enviadas exitosamente" y uso array_diff para "restar" $direccionestodas - $direccionesenviadas .
Este array que obtengo es el que uso en el foreach.

Des esta manera ejecutas una vez el script, si se te queda a medio camino, le ejecutas de nuevo, solamente que esta vez no se enpiesa desde "0".

Esa puede ser una solucion.
Saludos!
  #3 (permalink)  
Antiguo 21/04/2003, 03:13
Avatar de ||Dj||  
Fecha de Ingreso: enero-2002
Mensajes: 2.349
Antigüedad: 22 años, 2 meses
Puntos: 1
Hola Enric:

Simplemente queria saber si me pasas la url de tu web para pegarle un vistazo...me entró curiosidad, por la cantidad de usuarios que tienes seguramente el sitio debe tener contenidos mas que interesantes.

Un saludo.
  #4 (permalink)  
Antiguo 21/04/2003, 03:16
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 21 años, 7 meses
Puntos: 8
Esto me huele a esas BD que te venden con "miles de mails" (especial para spamers).

Ojalá me equivoque xDD.
  #5 (permalink)  
Antiguo 21/04/2003, 08:03
Avatar de linkses  
Fecha de Ingreso: agosto-2002
Ubicación: Sevilla - España
Mensajes: 785
Antigüedad: 21 años, 7 meses
Puntos: 0
Hola Enric Roca, que hay creo que lo mejor es sin vas a programarlo con php, es que a la pagina de envios, le hagas un bucle de 300 - 500 envios por pagina, de otra manera, se caera y no llegara a todos. Muchos Saludos
  #6 (permalink)  
Antiguo 21/04/2003, 08:07
DeM
 
Fecha de Ingreso: marzo-2003
Ubicación: The heart of Southamerica
Mensajes: 12
Antigüedad: 21 años
Puntos: 0
La verdad es que se debería saber para que uno quiere esa información, si viene cierto que todos estamos para ayudar y ser ayudados, esos tipos de conceptos de enviar millones de e-mail se los debe de agarrar con pinzas (en especial yo que llegue a clausurar una cuenta POP3 por causa del spam)
  #7 (permalink)  
Antiguo 21/04/2003, 08:46
 
Fecha de Ingreso: enero-2002
Mensajes: 31
Antigüedad: 22 años, 2 meses
Puntos: 0
Muchas gracias por las ideas, enseguida me pongo a ello.

Por otro lado, SI tengo esos usuarios registrados, y esta es mi web:

http://www.tuningworld.com

Por descontado que estos mails que tengo que enviar son de usuarios registrados voluntariamente en mi web y sirven para informarles de las novedades acontecidas en el site.
  #8 (permalink)  
Antiguo 21/04/2003, 14:42
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 9 meses
Puntos: 16
Hola,

El "problema" que tienes es que PHP tiene un limite de tiempo para ejecutar el script, por defecto creo que son 30 segundos. Puedes modificar ese valor en el php.ini (directiva max_execution_time, si mal no recuerdo) para todos los scripts, o usando la funcion set_time_limit() para modificar el valor en ese script en concreto, incluso para darle un valor "hasta que acabe el script". Esto ultimo solo lo recomiendo si lo estas usando en una maquina local conectada a internet, no en un servidor web.

La otra opcion es la que te han comentado: "paginar" el envio de emails a unos miles por vez.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #9 (permalink)  
Antiguo 21/04/2003, 20:41
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 21 años, 10 meses
Puntos: 7
Quizas es fuera del tema de PHP mi comentario pero... Enric, no seria mejor que uses un MailBomber?
__________________
No tengo firma ahora... :(
  #10 (permalink)  
Antiguo 22/04/2003, 20:56
Avatar de ||Dj||  
Fecha de Ingreso: enero-2002
Mensajes: 2.349
Antigüedad: 22 años, 2 meses
Puntos: 1
Estoy de acuerdo con Mickel, no creo que php sea la opcion adecuada para el caso.

Saludos
  #11 (permalink)  
Antiguo 23/04/2003, 07:42
 
Fecha de Ingreso: diciembre-2002
Mensajes: 341
Antigüedad: 21 años, 3 meses
Puntos: 0
Puedes usar PHP perfectamente, pero sería muy recomendable que no usases la función mail() de PHP. Cada vez que se llama a la función mail() se inicia una nueva sesión con el servidor SMTP, lo que supone perder muchísimo tiempo y sobrecargar el servidor innecesariamente.

Lo que necesitas es alguna función o clase que "hable" SMTP directamente con el servidor SMTP. No te sabría recomendar ninguno, pero el usuario "Cluster" más de una vez ha recomendado uno en concreto.

De todas formas, aquí tienes uno:

http://php.resourceindex.com/detail/00895.html

No te olvides llamar a set_timer_limit(0), para poner el tiempo máximo de ejecución en infinito segundos.

También podrías preguntar a tus proveedores de hosting si disponen de algun software como Mailman o EZMLM y si te permiten usarlo.
__________________
guebs - alojamiento web y dominios
www.guebs.com
blog.guebs.com
  #12 (permalink)  
Antiguo 23/04/2003, 10:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
mm Si, Argintxe .. de vez en cuando recomiendo la classe:

PHP Mailer
http://phpmailer.sourceforge.net

Permite enviar e-mail via mial() de PHP, SMTP directo (con autentificación si lo requiere) o usar directo SendMail si se usa ese MTA en el servidor ...

En cuanto a SMTP .. puede usar hasta varios SMTP a la vez por si alguno falla en algun envio se usa el siguiente.

Tambien facilita mucho la taréa a la hora de enviar e-mails con "attachments" (archivos adjuntos) y hasta e-mails multiparte (Texto plano y HTML simultaneamente) junto con imagenes "incrustadas" en el própio e-mail ..

Ahí mismo en su sección de links hay varias apliaciones que se basan en dicha classe para hacer mailing (listas de correo).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #13 (permalink)  
Antiguo 22/10/2003, 09:21
Avatar de Garabato  
Fecha de Ingreso: mayo-2002
Ubicación: Merida | Yucatan | Mexico
Mensajes: 311
Antigüedad: 21 años, 10 meses
Puntos: 3
Disculpen mi ingreso en esta charla, pero desde mi punto de vista una buena opcion para esto seria la utilizacion de MojoMail (es un cgi) pero es muy practico.

URL:
http://mojo.skazat.com/

URL de descarga:
http://prdownloads.sourceforge.net/m...o-2_8_9.tar.gz

Es muy practico, facil de instalar, de configurar y personalizar, soporta grandes bases de datos, diferentes modos de envios, soporta envios en HTML y TXT, tambien permite enviar una URL por email.
A mi me soluciono la vida en mas de un sitio web.

Espero les sea de utilidad.

Saludos
__________________
Garabato
Estudio Creativo Garabato
http://www.estudiogarabato.net
Recuperamos el .COM !!!
  #14 (permalink)  
Antiguo 22/10/2003, 09:53
Avatar de Rnsto  
Fecha de Ingreso: marzo-2002
Ubicación: Puerto Vallarta, Mexico
Mensajes: 204
Antigüedad: 22 años
Puntos: 0
NO SE CUAL SEA TU PROBLEMA Y TAL VEZ NI SI QUIERA ME IMPORTA.....

PERO LO QUE SI... ES QUE POR TU BIEN NINGUNA DE MIS CUENTAS DE CORREO ESTEN INCLUIDAS EN ESAS 15,000 OK...


Je Je

__________________
Saludos
Rnstho Luna
go2mexico.com
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 13:26.