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

Novato en CDONT

Estas en el tema de Novato en CDONT en el foro de ASP Clásico en Foros del Web. Hola, por razones ajenas a mi me encuentro en la necesidad de cambiar la forma de enviar mails desde la web a partir de los ...
  #1 (permalink)  
Antiguo 26/03/2008, 15:27
 
Fecha de Ingreso: febrero-2005
Mensajes: 86
Antigüedad: 19 años, 4 meses
Puntos: 1
Novato en CDONT

Hola, por razones ajenas a mi me encuentro en la necesidad de cambiar la forma de enviar mails desde la web a partir de los datos ingresados en un formulario.
Yo siempre utilicé aspemail y de hecho habia logrado perfeccionar bastante dichos envíos. Ahora debo modificar todo a CDONT y de verdad, estoy un poco confundido.
Lo que antes utilizaba en aspemail era algo asi...

<%
Dim strEmail, Mail
strEmail = request.form("email")
Set Mail = Server.CreateObject("Persits.MailSender")
Mail.Host = "mail.midominio.com"

'SI ME PEDIA USUARIO Y CONTRASEÑA:
Mail.Username = "[email protected]"
Mail.Password = "123456"

Mail.From = strEmail
Mail.AddAddress "[email protected]"
Mail.Subject = "Consulta enviada desde la web"

Mail.Body = "<HTML><BODY> Nombre <b>"&request.form ("nom")&"</b><br>Apellido

<b>"&request.form ("apell")&"</b><br>Direccion <b>"&request.form

("direc")&"</b><br>Ciudad <b>"&request.form ("ciudad")&"</b><br>Provincia

<b>"&request.form ("prov")&"</b><br>Pais <b>"&request.form

("opPais")&"</b><br>Telefono <b>"&request.form ("telef")&"</b><br>Email

<b>"&request.form ("email")&"</b><br>Destino <b>"&request.form

("dest")&"</b><br>Categoria <b>"&request.form ("categ")&"</b><br><br>Motivo de

la consulta<br><b>"&request.form ("txtConsulta")&"</b></BODY></HTML>"

Mail.isHTML = True
Mail.Send
%>

He leído en otros sitios y en este foro que deberé realizar algo asi en CDONT..

Dim sDestintatario, sAsunto, sCuerpo
Dim oMail 'el objeto CDO

sAsunto="Consulta desde la web"


sCuerpo = "primera linea de este mensaje" & VbCrLf
sCuerpo = sCuerpo & "segunda linea de este mensaje" & VbCrLf
sCuerpo = sCuerpo & VbCrlf & VbCrLf & "tercera linea de este mensaje"

sDestinatario="[email protected]"

'Enviamos el email
set oMail=Server.CreateObject("CDONTS.NewMail")

'Establecemos las propiedades del objeto
oMail.From = "Nombre de quien lo envía"
oMail.To = sDestinatario
oMail.Subject = sAsunto
oMail.Body = sCuerpo

' Enviamos el email!
oMail.Send

set oMail = nothing
Response.Write ("Mensaje enviado.")


Estoy un tanto confundido respecto a algunas cosas tales como: No necesito indicar el Host como sí habia que hacerlo en aspemail?, cómo hago los request y como debo proceder para generarlo en HTML?.

Les agradeceré todas las respuestas porque a partir de ellas iré aprendiendo a manejarme con este método, para mi, nuevo.

Muchas gracias!!!
  #2 (permalink)  
Antiguo 18/12/2008, 08:16
 
Fecha de Ingreso: diciembre-2008
Ubicación: En chile
Mensajes: 1
Antigüedad: 15 años, 5 meses
Puntos: 0
Sonrisa Respuesta: Novato en CDONT

te mando un ejemplo como para que practiques


<html>
<head>
<title>Mail Masivo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<%
Set base = Server.CreateObject("ADODB.Connection")
base.ConnectionString = "PROVIDER=Microsoft.jet.OLEDB.4.0;DATA SOURCE=" & "Ruta base de datos C://aaa/aaa.mdb"

base.open
Set rs = Server.Createobject("ADODB.Recordset")
rs.activeconnection = base
rs.locktype = 3
rs.cursortype = 3

contador = 0

rs.source="SELECT * FROM esp"
rs.open

rs.movefirst

do while rs.EOF = False
Set fso=Server.CreateObject("Scripting.FileSystemObjec t")
Set archivo=fso.OpenTextFile(server.MapPath("mail-masivo.htm"))'
'ThisFile=Server.MapPath("TEL-PDF-POR-FIN-GC.pdf") ' Archivo adjunto
plantilla=archivo.ReadAll
archivo.Close
set archivo=Nothing
set fso=Nothing
plantilla = replace(plantilla,"//nombre//",rs("funcionario"))
plantilla = replace(plantilla,"//empresa//",rs("empresa"))
set correo=server.CreateObject("cdonts.newmail")
correo.mailformat=0
correo.bodyformat=0
correo.From= "NameAction.com <[email protected]>"
correo.to = "[email protected]" 'rs("email") '
'correo.Cc=""'
'correo.CCO="[email protected]"'
'correo.Bcc=""'

correo.Subject= "Asunto del email ." '
correo.body=plantilla
'correo.AttachFile ThisFile ' Archivo adjunto

'correo.send
Set correo=nothing
rs.movenext
Loop
rs.Close
base.Close
Set base=Nothing
Set rs=Nothing
%>
</body>
</html>


En pimer lugar


Los correos los saco de una base da datos
create una en access
ademas creo un archivo html que es el que envio lo adapto a mis requerimientos y listo queda en la raiz donde esta el archivo correo-send.asp

Funciona de la siguiente manera

el script anterior abre la db lee los correos de los destinatarios
ademas lee un archivo html que es mail que compuse anteriormente (un HTML)

la plantilla o el replace lo que hace es sacar de la db el nombre del usuario y lo remplaza con los comodines que agrego algo asi como

Estimado //usuario//
y Luego queda
Estimado Sr Mandolino

algo por el estilo

Puedes modificar el script a tus requerimientos es bastante sencillo prueba enviandotelo a ti mismo

si quieres puedes sacar la conexion con db (base de datos) y pasarle los datos directamente a modo de pruebas

espero te sirva.

mzm
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 16:13.