Foros del Web » Programando para Internet » PHP »

Envio segmentado de E-mails mediante SMTP

Estas en el tema de Envio segmentado de E-mails mediante SMTP en el foro de PHP en Foros del Web. Hola amigos: Lo 1º me presento, soy Spacebom de la web DesarrolloNuke.org (entre otros sitios...) Actualmente entre otros proyectos, estamos realizando un script para PHP-Nuke ...
  #1 (permalink)  
Antiguo 02/05/2004, 08:24
 
Fecha de Ingreso: mayo-2004
Ubicación: Valladolid
Mensajes: 2
Antigüedad: 19 años, 11 meses
Puntos: 0
Pregunta Envio segmentado de E-mails mediante SMTP

Hola amigos:

Lo 1º me presento, soy Spacebom de la web DesarrolloNuke.org (entre otros sitios...)

Actualmente entre otros proyectos, estamos realizando un script para PHP-Nuke que gestiona el envio de E-mails a los usuarios registrados que asi lo soliciten, este incluye un montón de opciones, que ahora no viene al caso relatar...

En estos momentos estamos pensando en implementar la opciónd e usar un servidor SMTP en el envio o utilizar el propio servidor, pero en ambos casos tenemos un problema, que si el número de usuarios remitentes es muy elevado, pues al final el script "explota", ya que no es capaz de enviar a "5000" (por ejemplo) usuarios el mail antes de que se acaben tiempos de ejecución.

Y escribo aqui para ver si alguién me puede orientar en cómo mandar mails por "paquetes" o segmentados por SMTP, ya que en mi web en este mensaje un usuario (benti), dice que:

Cita:
Otra cosa en forosl del web vi un post de una funcion que enviaba los mails por bloques y con un temporizador, asi no saturaba el server.
Antes de escribir esto he utilizado el buscador de este foro en busca de un tópico o mensaje que pudiera estar realcionado, pero no lo he conseguido, asi que desde aqui toda ayuda o consejo prestado será bien recibido.

Me despido, cordialmente,

David. Gracias por adelantado.

Un saludo.
  #2 (permalink)  
Antiguo 02/05/2004, 14:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Existen classes como PHP Mailer (http://phpmailer.sourceforge.net) que pueden enviar una gran cantidad de e-mails directamente sobre servidores SMTP y usar vários simultáneamente para "balancear la carga".

Es decir .. dicha classe .. "parcela" el nº total de e-mails a enviar en tantos servidores SMTP como le indiques en sus parámetros a la hora de enviar los e-mails.

Si quieres hacerlo manualmente .. puedes usar el comando "sleep()" de PHP que permite "parar" por un tiempo prederminado a PHP en su ejecución y así darle un "respiro" a tu servidor SMTP que uses ..(de todas formas .. al servidor SMTP tu le envias los que gustes y si no dá abasto con el envio los va poniendo en la cola para enviarlos cuando pueda .. Por lo menos así funcionan la mayoría por no decir todos ..).

Si usas "sleep()" tendrás que usar set_time_limit() para ajustar el tiempo de ejecución de tus scripts (minimo será el tiempo que uses en sleep() * nº bloques de e-mails a enviar + el proceso própio de esos envios de esos bloque de e-mails ..)

El ajuste de set_time_limit() ajusta los tiempos de ejecución del script en curso .. para nada modifica definitivamente el tiempo de ejecución máximo de PHP por defecto (30 segundos en php.ini max_ejecution o algo así .. ).

Pero .. lo dicho, una combinación de ajuste de set_time_limit() y el uso de vários servidores SMTP para balancear la carga (usando PHP Mailer classe que lo gestiona por sí sola) lo puedes hacer sin problemas. (además que dicha classe permite otras cosas cómodamente como el envio de e-mail en HTML multiparete .. imagenes incrustradas y adjuntas o en general adjuntar archivos (sean del sistema de archivos u obtenidos de una BD o generación dinámica de estos .. ) etc.)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 02/05/2004, 15:14
 
Fecha de Ingreso: mayo-2004
Ubicación: Valladolid
Mensajes: 2
Antigüedad: 19 años, 11 meses
Puntos: 0
Hola Cluster, gracias por contestar, y hacerlo tan amplia y explicadamente ;)

Veré las carácterísticas del PHPMailer y veremos como poner en práctica tus consejos.

Un saludo, y muchas gracias, ya os contaremos :)
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 03:44.