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

Mandar correos masivos en ASP con BD en ACCESS

Estas en el tema de Mandar correos masivos en ASP con BD en ACCESS en el foro de ASP Clásico en Foros del Web. Hola! tengo un problema para mandar correos a varios destinatarios. El caso es que tengo una base de datos en acces, en la que están ...
  #1 (permalink)  
Antiguo 04/11/2008, 17:32
 
Fecha de Ingreso: noviembre-2008
Mensajes: 22
Antigüedad: 16 años, 5 meses
Puntos: 0
Busqueda Mandar correos masivos en ASP con BD en ACCESS

Hola! tengo un problema para mandar correos a varios destinatarios. El caso es que tengo una base de datos en acces, en la que están registrados los usuarios con su correo electrónico, intenté programar en ASP que mandara un correo de prueba a los usuarios registrados hasta ese momento que son 4 y que los por medio de response.write, me mostrara los correos a los cuales se había mandado el mensaje de prueba. Cuando ejecuto la página, se pueden ver los 4 correos registrados, pero el mensaje de prueba, solamente le llega al último de la lista, espero por favor que me puedan ayudar con este problema, pongo el código a su disposición para que me puedan orientar haber si tiene algún error. De antemano muchas gracias...

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("PyR.mdb")

set rs=createobject("ADODB.Recordset")
rs.CursorType = adOpenKeyset


%>
<!--
METADATA
TYPE="typelib"
UUID="CD000000-8B95-11D1-82DB-00C04FB1625D"
NAME="CDO for Windows 2000 Library"
-->
<%
'------------------------------------------------------------------------
'------------------------------------------------------------------------
Set cdoConfig = CreateObject("CDO.Configuration")

With cdoConfig.Fields
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = "Servidor"
.Update
End With

body = "Este es un correo de prueba para verificar la capacidad de envíar correos a varios destinatarios, por favor mandenme un correo de confirmación si recibieron este correo. Gracias."



Set cdoMessage = CreateObject("CDO.Message")

With cdoMessage
Set .Configuration = cdoConfig
.From = "remitente@compañia.com.mx"
.Subject = "Correo de Prueba"
.htmlBody= body
RS.Open "usuarios", Conn, 1
while not rs.EOF
RESPONSE.Write(rs.fields("email"))
.bcc = rs.Fields("email")
rs.MoveNext
wend
.Send

RS.Close
Conn.Close

End With

Set cdoMessage = Nothing
Set cdoConfig = Nothing
%>
  #2 (permalink)  
Antiguo 04/11/2008, 19:17
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Respuesta: Mandar correos masivos en ASP con BD en ACCESS

basico te mueves
te mueves
te mueves
y mandas al final el correo

Código asp:
Ver original
  1. .bcc = rs.Fields("email")
  2. rs.MoveNext
  3. wend
  4. .Send

has esto

lee la base
haces el while
saca el correo
envia el correo
movenext

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #3 (permalink)  
Antiguo 04/11/2008, 19:25
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Respuesta: Mandar correos masivos en ASP con BD en ACCESS

va

Muzztein publico una funcion para el envio de correo

basicamente seria asi

- lees tu base de datos
- inicia el while
- ejecutas la funcion
- te mueves al siguiente registro
- fin

http://www.forosdelweb.com/f15/bibli...ml#post2647708


suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #4 (permalink)  
Antiguo 05/11/2008, 10:57
 
Fecha de Ingreso: noviembre-2008
Mensajes: 22
Antigüedad: 16 años, 5 meses
Puntos: 0
Busqueda Respuesta: Mandar correos masivos en ASP con BD en ACCESS

Hola! Muchas gracias por tu sugerencia, ya la puse en práctica pero sigue sin funcionarme, creo que el problema realmtente esta en el .bcc=, ya que como tengo entedido solamente soporta una dirección, es esto realmente cierto? Y si lo es como puedo solucionarlo?

De antemano Gracias
  #5 (permalink)  
Antiguo 05/11/2008, 13:38
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Respuesta: Mandar correos masivos en ASP con BD en ACCESS

ppegas tu codigo funcional?
__________________
JuanRa Pérez
San Salvador, El Salvador
  #6 (permalink)  
Antiguo 05/11/2008, 15:06
 
Fecha de Ingreso: noviembre-2008
Mensajes: 22
Antigüedad: 16 años, 5 meses
Puntos: 0
Busqueda Respuesta: Mandar correos masivos en ASP con BD en ACCESS

Es básicamente el mismo de arriba, uso el bcc= asignándole una variable o lo pongo para que lea la base de datos como sigue:

while not rs.EOF
RESPONSE.Write(rs.fields("email"))
enviar = rs.Fields("email")
rs.MoveNext
.bcc = enviar
wend
.send

ó

while not rs.EOF
RESPONSE.Write(rs.fields("email"))
.bcc = rs.Fields("email")
rs.MoveNext
wend
.send

y como mencioné antes, si me funciona pero solamente llega el correo al ulitmi e-mail registrado en mi base de datos, en que me estoy equivocando??
  #7 (permalink)  
Antiguo 05/11/2008, 15:18
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Respuesta: Mandar correos masivos en ASP con BD en ACCESS

aqui el error es que al iterar sobre los registros sobre-escribes el BCC

lo que seria mas factible es lo siguiente, en el while, podrias realizar algo como esto:
Código ASP:
Ver original
  1. BCC = ""
  2. while not rs.EOF
  3. if BCC="" then
  4. BCC=rs.fields("email")
  5. else
  6. BCC= BCC & "; " & rs.fields("email")
  7. end if
  8. rs.MoveNext
  9. wend
lo anterior es para recolectar todos los correos que necesitaras enviar copia del mail

despues termina rellena los parametros para el envio de correo.... asi....
Código ASP:
Ver original
  1. With cdoMessage  
  2.         Set .Configuration = cdoConfig  
  3.         .From = "remitente@compañia.com.mx"  
  4.         .Subject = "Correo de Prueba"  
  5.         .htmlBody=  body
  6. .bcc = BCC
  7.         .Send
  8.     End With  
  9.  
  10.     Set cdoMessage = Nothing  
  11.     Set cdoConfig = Nothing

__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #8 (permalink)  
Antiguo 05/11/2008, 15:59
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Respuesta: Mandar correos masivos en ASP con BD en ACCESS

osea que no impleentastes la funcion

basicamente move estas cosas asi

Código asp:
Ver original
  1. while not rs.EOF
  2. RESPONSE.Write(rs.fields("email"))
  3. enviar = rs.Fields("email")
  4. 'este no tiene que ir aqui
  5. 'rs.MoveNext
  6. .bcc = enviar
  7. wend
  8. .send
  9. 'despues de enviado tenes que moverte
  10. rs.MoveNext

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #9 (permalink)  
Antiguo 05/11/2008, 16:18
 
Fecha de Ingreso: noviembre-2008
Mensajes: 22
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Mandar correos masivos en ASP con BD en ACCESS

Hola! Muchas gracias por sus respuestas, les comento que la sugerencia que me dio excelentes resultados. Saludos y estamos en contacto, GRACIAS!!!
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 13:37.