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

Enviar datos de BD por correo con ASPEMAIL

Estas en el tema de Enviar datos de BD por correo con ASPEMAIL en el foro de ASP Clásico en Foros del Web. En ocasiones debemos enviar datos de una base de datos por correo, listas de novedades, temas suscritos, foros, anuncios, etc. Este script hace uso de ...
  #1 (permalink)  
Antiguo 16/05/2003, 09:24
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
Enviar datos de BD por correo con ASPEMAIL

En ocasiones debemos enviar datos de una base de datos por correo, listas de novedades, temas suscritos, foros, anuncios, etc.
Este script hace uso de ASPEMAIL y OLEDB para enviar registros de una bd de Access.
Recorremos el recordset y vamos almacenando en una variable el texto que luego usamos como BODY del mesaje.

Tambien podeis usarlo con CDONTS con solo cambiar las 4 llineas del apartado ENVIO MAIL

<%
email=request("email") ' obtenemos la direccion del destinatario de un formulario de la pagina anterior
set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("tubase.mdb")&";"
SQL="SELECT * FROM tutabla"
rs.Open SQL, oConn,1,2

'envio mail
Set Mail = Server.CreateObject("Persits.MailSender")
Mail.Host = "smtp.tudominio.com"
Mail.From = "[email protected]"
Mail.FromName = "Departamento de Novedades"
Mail.AddAddress email ' Recuperamos la direccion del formulario

Mail.Subject = "Texto del asunto del mensaje"
'comenzamos el bucle que va añadiendo lineas de los registros al cuerpo del mensaje
do while not rs.eof
cuerpo= cuerpo & rs("campo1") & rs("campo2") &"<br>"
rs.movenext
loop

'definimos el cuerpo como el conjunto de lineas obtenidas del bucle
Mail.body = cuerpo

'Limpiamos objetos y cerramos las conexion con la BD
rs.Close
oConn.Close
set rs=nothing
set oConn=nothing

'Comprobamos si el correo se pudo enviar, o la direccion era incorrecta u otros errores
On Error Resume Next
response.write("El correo ha sido enviado a " & email & "<br>" & "Gracias por visitarnos")
Mail.Send ' ó Mail.SendToQueue
If Err <> 0 Then
Response.Write "Ha ocurrido un error: " & Err.Description
End If
%>

Podéis ver una copia completamente operativa en:
www.musicatotal.es.vg
Enviaros a vosotros mismo la lista de novedades a vuestro correo.

Esta mucho mas conseguido, envía tablas, imágenes y otros formatos HTML pero eso ya os lo dejo para que lo trabajeis un poco
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net

Última edición por maestro; 16/05/2003 a las 09:29
  #2 (permalink)  
Antiguo 15/06/2003, 02:23
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 5 meses
Puntos: 3
no tengo dominio

y q pasa si solo tengo una cuenta en 7host.com, y no tengo dominio, pero tengo mi cuenta en hotmail, cómo haría para poder mandar el mail? o si lo quiero mandar x mi cuenta de latinmail?
  #3 (permalink)  
Antiguo 15/06/2003, 05:53
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
Si tu hosting no da soporte de ningun componente de envio de email, olvidate.
Como mucho podrias hacer un links HTML de tipo MAILTO:[email protected], pero no podrias enviar los contenidos deseados.

Revisa a ver que componentes usa 7host.com.
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #4 (permalink)  
Antiguo 15/06/2003, 11:33
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 5 meses
Puntos: 3
eso solo era una forma de decir que no tengo dominio, osea ya pes... yo quiero hacerlo desde mi máquina, ya me bajé el aspemail, y quiero mandar un mail como si fuera de mi hotmail con esta cosa... cómo hago??
  #5 (permalink)  
Antiguo 15/06/2003, 14:06
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
Debes poner un SMTP valido, instala el SMTP del IIS o usa un servidor que te permita enviar SMTP.

Si lo haces asi, usa esto:
Mail.Host = "localhost" o Mail.Host = "127.0.0.1"

o si usas una maquina remota
Mail.Host = "smtp.tudominio.com"
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #6 (permalink)  
Antiguo 15/06/2003, 15:53
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 5 meses
Puntos: 3
he instalado el aspemail, tengo el PWS. puedo mandar y con mi cuenta de hotmail?? o digamos q tenga el IIS y puedo mandarlo con mi cuenta de hotmail, osea solo poner Mail.Host = "localhost" y mi cuenta de hotmail Mail.From = "[email protected]" se puede??

Pero si no se puede con el PWS donde puedo conseguir otra cosa q me ayude a mandar mails?? tengo el windows 98 SE.
  #7 (permalink)  
Antiguo 15/06/2003, 17:31
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
PWS para win 9x no incopora un motor SMTP propio, deberias instalar un servidor de correo y configurarlo para poder enviar correo desde ese equipo local usando ASPEMAIL.

PWS y win 9x no esta preparado especificamente para estos fines, la opcion mas logica seria un sistema NT, 2000, XP con IIS.
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #8 (permalink)  
Antiguo 15/06/2003, 17:42
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 5 meses
Puntos: 3
y sabes o alguien sabe donde peudo conseguir uno q sea fácil de usar?
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 00:39.