Foros del Web » Programando para Internet » ASP Clásico »

¿Cómo enviar muchos email a la vez con una BD con muchos?

Estas en el tema de ¿Cómo enviar muchos email a la vez con una BD con muchos? en el foro de ASP Clásico en Foros del Web. Bueno pues el problema es fácil de explicar, tengo una base de datos mdb con unos 20.000 emails de mis usuarios, y quiero enviar a ...
  #1 (permalink)  
Antiguo 09/03/2005, 17:11
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 20 años, 3 meses
Puntos: 0
¿Cómo enviar muchos email a la vez con una BD con muchos?

Bueno pues el problema es fácil de explicar, tengo una base de datos mdb con unos 20.000 emails de mis usuarios, y quiero enviar a estos emails avisos y novedades:
El problema es que cuando los envío, bien mi ASP me devuelve que se agotó el tiempo de conexión con el servidor scripttimeout o si le subo más el tiempo, por ejemplo 20 minutos, me devuelve al cabo de ese rato página en blanco.
Como puedo solucionar para que me envíe ese email a los 20.000, aunque tenga que esperar horas.
Una opción que probé era crear varias BD con bloques de 5.000, pero el problema es que para borrar un email existente tenía que ir buscando en una a una y no me gusta, así como que los usuarios que quisieran darse de baja no lo pueden hacer al no indicar la BD correcta, claro.
Venga echarme una mano.
Gracias.
  #2 (permalink)  
Antiguo 09/03/2005, 17:34
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 23 años, 4 meses
Puntos: 16
spam? no , bueno

no se, se me ocurre algo como que al determinado numero de emails enviados limpies el buffer o algo asi para que vayas "vaciando" el envio

se me ocurre, no se si funcione (y lo aclaro por que luego aparecen los simpaticos que nomas ofenden y no aportan nada) algo asi:

cuenta=1
do while not rs.eof
if cuenta=100 then
response.flush
else
..........haces el envio del mail
cuenta=cuenta+1
end if
rs.movenext
loop

digo, igual ni funciona pero la intencion es ayudar
  #3 (permalink)  
Antiguo 10/03/2005, 00:32
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 20 años, 3 meses
Puntos: 0
Te refieres algo así:

Código:
<%
'Declaramos las variables a usar
Dim nombre, email, mensaje, oMail

'Obtenemos los valores del formulario
TextBody = Request.Form("TextBody")
Subject = Request.Form("Subject")

Set oConn = Server.CreateObject ("ADODB.Connection")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("/database/email.mdb")
Set oRS = Server.CreateObject ("ADODB.RecordSet")
sql = "SELECT * FROM email"
oRS.Open sql, oConn


	  Dim iMsg
      Dim iConf
      Dim Flds
      set iMsg = CreateObject("CDO.Message")
      set iConf = CreateObject("CDO.Configuration")
      Set Flds = iConf.Fields
      Flds("http://schemas.microsoft.com/cdo/configuration/urlgetlatestversion") = True
      Flds.Update
      
	  With iMsg

      Set.Configuration = iConf
      .From = "[email protected]"
cuenta=1   
do while not oRS.eof
if cuenta=100 then
response.flush
else
      .To = Trim(oRS("email"))
      .Subject = Request.Form("Subject")
      .HTMLBody = Request.Form("TextBody")
      .Send
cuenta=cuenta+1
end if
rs.movenext
loop
      Set iMsg = Nothing
      End With

Response.Write "<div align=center><b>Envío realizado correctamente.<br>"
Response.Write "Ha enviado el email a todos los de REGISTRO.MDB<br></b>"
Response.Write "<br><br><div align=center><a href=javascript:window.close(); title='CERRAR VENTANA'><b><font face='Flat Brush' color=#008080 style=font-size:10pt><u>CERRAR VENTANA</u></font></b></em></a></span></div>"
%>
Gracias, espero tu confirmación o la de otro usuario.

Última edición por antoli; 10/03/2005 a las 00:35
  #4 (permalink)  
Antiguo 10/03/2005, 05:45
 
Fecha de Ingreso: noviembre-2004
Ubicación: Sevilla
Mensajes: 139
Antigüedad: 20 años, 5 meses
Puntos: 0
esto no lo he probado aun, pero creo que podria funcionar para que hotmail llegue a recibir todos los emails y no corte el grifo a los 20 o 30.

From = oRS("id")&"[email protected]"
__________________
Punkis De Mierda

Foro punk rock
  #5 (permalink)  
Antiguo 10/03/2005, 09:28
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 23 años, 4 meses
Puntos: 16
si te funciona nos avisas
  #6 (permalink)  
Antiguo 13/03/2005, 02:18
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 20 años, 3 meses
Puntos: 0
Vale poniendo 1000 el sistema me respone correctamente, pero que quiere decir que sólo lo ha enviado a 1000 y ya está.
Es que si es así no soluciona mi problema, yo quiero que mande a 20000 de la BD.
A ver que opinas del tema.
He probado cambiar cuenta=20000 y trabaja con normalidad pero da el error que indiqué en mi primer mensaje.
AYUDAAAAA.
  #7 (permalink)  
Antiguo 13/03/2005, 08:04
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 23 años, 3 meses
Puntos: 4
hola, creo qeu lo qeu te falta es volver a inicializar el contador en 1, ya que si lo dejas asi, solo enviaria 100, la idea es que cuando llegue a 100 coloque el contador en 1 asi enviara los siguientes 100 y los demas emails.

cuenta=1
do while not rs.eof
if cuenta=100 then
response.flush
cuenta=1
else
..........haces el envio del mail
cuenta=cuenta+1
end if
rs.movenext
loop
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #8 (permalink)  
Antiguo 13/03/2005, 09:01
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 20 años, 3 meses
Puntos: 0
Lo pruebo ya te diré.
  #9 (permalink)  
Antiguo 13/03/2005, 16:27
 
Fecha de Ingreso: noviembre-2004
Ubicación: Sevilla
Mensajes: 139
Antigüedad: 20 años, 5 meses
Puntos: 0
a 20000 ? que bestialidad, yo haria una paginacion, para que enviase el mail a los 500 primerops y al pulsar sobre SIGUIENTE se lo enviase a los 500 seguientes, etc etc

un saludo
__________________
Punkis De Mierda

Foro punk rock
  #10 (permalink)  
Antiguo 13/03/2005, 18:05
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
A mi entender una de las mejores soluciones es la que xAlex propone ("paginar" el envío de a tantos), pero que no haya que pulsar absolutamente nada... que al terminar de mandar la primer tanda, la página se auto-refresque pasándose como parámetro desde cuál tiene que continuar enviando y así hasta que terminó todo el trabajo.
__________________
...___...
  #11 (permalink)  
Antiguo 14/03/2005, 01:37
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 20 años, 3 meses
Puntos: 0
Venga podéis indicarme un poco de CODE para así hacerme la idea como sería, no me importa probar esta opción.
  #12 (permalink)  
Antiguo 15/03/2005, 07:40
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 20 años, 3 meses
Puntos: 0
Venga, alguno me puede ayudar con esta opción de enviar de 500 en 500.
Gracias.
  #13 (permalink)  
Antiguo 16/03/2005, 09:44
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 20 años, 3 meses
Puntos: 0
Ayudaaaaaaaaaaaaaa Por Fa....
  #14 (permalink)  
Antiguo 16/03/2005, 09:47
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 22 años, 8 meses
Puntos: 16
olvidalo..para enviar 20000 correos personalizados usa un programa especializado y no ASP.

te recomeindo el match 5
  #15 (permalink)  
Antiguo 16/03/2005, 10:00
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 20 años, 3 meses
Puntos: 0
Cita:
Iniciado por Muzztein
olvidalo..para enviar 20000 correos personalizados usa un programa especializado y no ASP.

te recomeindo el match 5
Me puedes dar una pista de donde descargar o conseguir ese programa.
  #16 (permalink)  
Antiguo 16/03/2005, 10:29
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Si es posible esa opción, también soy de la idea de Muzztein.
Pero en ocaciones debemos recurrir a ASP para manejar un gran envío de correos.

Personalmente nunca hice un envío grande de correo mediante ASP (sólo el "recomiéndele esta noticia a un amigo", "¿olvidó su contraeña?" and stuff like that).

Peeeero, me han pedido hace un tiempo que haga un sistema de envío de un boletín de noticias, cuyos contenidos salen de una base de datos, a los suscriptores de un sitio (creo que son unos 13/15 mil destinatarios y actualmente se envía mediante el aureate group mail).

En este caso en particular los correos no deben ser personalizados, así que, supongo, la tarea debería ser menos ardua para el servidor. Lo que igualmente no me queda claro es si, por ejemplo, puedo meter TODOS los destinatarios en un mismo envío en el BCC o, aunque se trate de un envío despersonalizado, conviene enviar 30 mails a... 500 BCC... cada uno (15.000 dest / 500 bcc = 30 mails).

La pregunta concreta antes de decidir si meterme en ello o no sería (recordar que nunca hiceun envío masivo):

Suponiendo que 500 destinatarios en BCC sea una cantidad adecuada...
- ¿Cuánto tiempo demoraría en enviar cada uno de los 30 mails?
- ¿Qué le ocurre al servidor durante ese lapso de tiempo? ¿Quedaría inoperante para otras cuestiones? (si, si.. sé que influyen las características del servidor... No las conozco, pero debería ser bueno ya que está pagando bastante dinero por el hosting )


Saludos, gracias y disculpas a antoli por meterme a cosultar en su mensaje
__________________
...___...
  #17 (permalink)  
Antiguo 16/03/2005, 11:12
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 23 años, 3 meses
Puntos: 4
http://www.webwizguide.info/asp/samp...ist_script.asp
este lo uso con 30.000 correos y me funciona perfecto. hasta ahora no le he visto problemas..

Edit by Al Zuwaga: Disculpas lexus, le di al botón de "editar mensaje" en vez de "citar"
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com

Última edición por AlZuwaga; 16/03/2005 a las 18:58
  #18 (permalink)  
Antiguo 16/03/2005, 11:33
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 22 años, 8 meses
Puntos: 16
Cita:
Iniciado por antoli
Me puedes dar una pista de donde descargar o conseguir ese programa.
Acuerdame, llegando a la casa te puedo dar unas direcciones.
pero acuerdame que se me puede olvidar.
  #19 (permalink)  
Antiguo 16/03/2005, 18:58
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Cita:
Iniciado por lexus
http://www.webwizguide.info/asp/samp...ist_script.asp
este lo uso con 30.000 correos y me funciona perfecto. hasta ahora no le he visto problemas..
Ok, será cuestión de hacer pruebas con él (y para las pruebas... ¿qué hago? ¿mando 15.000 correos idénticos a mi cuenta para no joder a nadie? )

(Ahora si lo cité y no lo edité )
__________________
...___...
  #20 (permalink)  
Antiguo 17/05/2006, 15:02
Avatar de affv  
Fecha de Ingreso: diciembre-2002
Ubicación: Ahora aqui
Mensajes: 485
Antigüedad: 22 años, 4 meses
Puntos: 0
ok caballeros, al final en que quedo todo esto como lograron resolver el problema Al Zuwaga resolviste tus dudas sobre bcc to y las demas?
__________________
Todo tiene un comienzo y un fin!!
Postea tus proyectos
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:40.