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

CDO, AspEmail - importar htm y embeber con parametros.

Estas en el tema de CDO, AspEmail - importar htm y embeber con parametros. en el foro de ASP Clásico en Foros del Web. Buenos dias a todos Alguien sabe si hay alguna funcion o parametro para importar en alguno de estos dos compomentes un documento htm y embeberlo ...
  #1 (permalink)  
Antiguo 28/08/2007, 08:32
 
Fecha de Ingreso: febrero-2006
Mensajes: 57
Antigüedad: 18 años, 3 meses
Puntos: 0
Mensaje CDO, AspEmail - importar htm y embeber con parametros.

Buenos dias a todos

Alguien sabe si hay alguna funcion o parametro para importar en alguno de estos dos compomentes un documento htm y embeberlo con variables ?

Por ejemplo:
AspEmail tiene en la version premium AppendBodyFromFile, con esto importo el htm, pero ademas necesitaria pararle parametros a este documento, para personalizar el mail. espero se entienda mi consulta.

en CDO nose si existe esta funcion.

EasyMail Si lo tiene

Código:
'importar htm
mail   =   enviomail.ImportBodyTextEx (Server.MapPath("PiezaModificacion.htm",2))

'pasar parametro

mail   = 	enviomail.ReplaceBodyTextToken("{1}", variable ,2)
Se que puedo escribir todo el htm en el body, pero mi idea era generar un htm y tener tantos htm como necesite usar con distintos diseños.


Bueno, espero se haya comprendido mi duda.

ustedes se preguntaran xq entonces no utilizo EasyMail
Es que mi server solo tiene CDO y AspEmail

Muchas gracias por la ayuda que me puedan brindar, Muchas gracias.

Atte Gustavo
  #2 (permalink)  
Antiguo 28/08/2007, 10:10
Avatar de a n g e l u s  
Fecha de Ingreso: enero-2006
Ubicación: Chile
Mensajes: 237
Antigüedad: 18 años, 5 meses
Puntos: 1
Re: CDO, AspEmail - importar htm y embeber con parametros.

HOLA GUSTABOVD, veamos si esta solucion te sirve.

APLICABLE PARA ASPMAIL


Código:
<%
Destino = "[email protected]"
Servidor = "111.111.111.111" '->ip o dominio del servidor de correo
Titulo = "ESTE ES EL ASUNTO"


'Asignamos los valores recibidos del formulario a las variables
Nombre	= Request("Name")
Email	   = Request("Email")
Mensaje	= Request("Message")
IP 	     = request.ServerVariables("REMOTE_ADDR")

'Creamos una instancia del objeto ASPMAIL
Set Mail = Server.CreateObject("Persits.MailSender")


' Creamos el cuerpo del mensaje
strBody = strBody & "<font face='Verdana, Arial, Helvetica, sans-serif' size='2' color='#555555'>" 
strBody = strBody & "Mi nombre es: "
strBody = strBody & "<b>" & nombre & "</b><br><br>"
strBody = strBody & "Mi e-mail es: "
strBody = strBody & "<b>" & email & "</b><hr>"
strBody = strBody & "Mi mensaje es: <br>"
strBody = strBody & Mensaje & chr(10)
strBody = strBody & "<br><br><br>"
strBody = strBody & "<center>Ip del Computador donde se envio el Mensaje: <b>"& ip &"</b></center><br>" 
strBody = strBody & "</font><hr>" 
strBody = strBody & "<center><table width=500><tr bgcolor=#ececec><td align=center>"
strBody = strBody & "<b><font color=#993300 size=1 face=Tahoma>"
strBody = strBody & "Diseño y Programación <a href=http://www.modulonet.cl style=text-decoration:none;cursor:hand>ModuloNet.cl</a><br>"
strBody = strBody & "</font></b>"
strBody = strBody & "</td></tr></table>"
strBody = strBody & "</center>" 
'response.write strBody

if 10 = 10 then
'Asignamos las propiedades al objeto con ASPMAIL
Mail.Host = servidor
Mail.Port = 25 ' Valor opcional. 25 es el puerto por defecto.
Mail.From = Email
Mail.FromName = Email ' Opcional
Mail.Subject = Nombre&titulo
Mail.Body = strBody
Mail.IsHTML = True
Mail.AddAddress Destino

On Error Resume Next

Mail.Send

' El control del error es con ASPMAIL
if isnull(session("error")) or session("error") = "" then
	If Err <> 0 Then
		session("error") = 1
      	Response.Write "&unerror=Error, envielo mas tarde " & Err.Description &"&"
	Else
		session("error") = 0
		Response.Write  "&unerror=Mensaje enviado correctamente.&"
	End If
else
	If session("error") <> 0 Then
      	Response.Write "&unerror=Error, envie el mensaje mas tarde. " & Err.Description &"&"
	Else
		Response.Write  "&unerror=Mensaje enviado correctamente.&"
	End If
end if

'Destruimos el objeto con aspmail
Set Mail = Nothing

end if
%>
espero que te sirva
__________________
Atte,
A n g e l u s
Concepción - Chile
más vale respuestas bien pensadas, que 7000 post
  #3 (permalink)  
Antiguo 28/08/2007, 10:38
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Re: CDO, AspEmail - importar htm y embeber con parametros.

ó

Crea tu HTML en un archivo llamado Plantilla001.html o como quieras llamarla, a ese HTML ponle tablas y objetos HTML como tu lo desees.

Donde quieras reemplazar coloca textos que sean faciles de identificar por ejemplo

Cita:
....
estimado: <b>Nombre_Rs_reemplazar</b>
....
en donde "Nombre_Rs_reemplazar" es el valor que reemplazaras por tu dato en el recordset

luego haces esto en asp.
Cita:
EnviarEsteHTML = "Plantilla001.html"
fName = server.mappath(EnviarEsteHTML)
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.openTextFile(fName)
Mensaje = a.readall
a.Close
set a = nothing
set fs = nothing
en donde "mensaje" tendra todo tu HTML

luego en asp generas tu RecordSet y realizas este proceo

Cita:
strMensaje = mensaje
strMensaje = replace(strMensaje,"Nombre_Rs_reemplazar",rs("Usua rioNombre"))
Luego lo metes en tu cadena

Cita:
Mail.Body = strMensaje
Mail.IsHTML = True
inicias el ciclo y barres el promimo registro


suerte

P.D. Me falto esta línea, por eso edite
EnviarEsteHTML = "Plantilla001.html"
__________________
JuanRa Pérez
San Salvador, El Salvador

Última edición por JuanRAPerez; 28/08/2007 a las 17:06
  #4 (permalink)  
Antiguo 28/08/2007, 14:43
 
Fecha de Ingreso: febrero-2006
Mensajes: 57
Antigüedad: 18 años, 3 meses
Puntos: 0
Re: CDO, AspEmail - importar htm y embeber con parametros.

A n g e l u s
Muchas gracias por la respuesta, de la manera en que decis es como lo hago funcionar normalmente.
lo que quiero hacer es directamente llamar a un documento htm que tenga guardado y desde la misma funcion, enviarle parametros para reemplazar algunos textos como lo indica JuanRAPerez


JuanRAPerez , te agradezco, hoy mismo lo voy a poner en practica a ver como resulta, es bastante entendible.

Luego les comento como fue todo .

Nuevamente, muchas gracias por las respuestas

Atte Gustavo
  #5 (permalink)  
Antiguo 28/08/2007, 17:06
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Re: CDO, AspEmail - importar htm y embeber con parametros.

oki prueba y luego nos avisas!!!

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #6 (permalink)  
Antiguo 29/08/2007, 13:06
 
Fecha de Ingreso: febrero-2006
Mensajes: 57
Antigüedad: 18 años, 3 meses
Puntos: 0
Re: CDO, AspEmail - importar htm y embeber con parametros.

JuanRAPerez
Queria agradecerte por la informacion que me has pasado.

Ya lo probe y funciona perfecto.

Por si a alguien le sirve de ayuda les dejo el codigo

Código:
<%
fName 			=		Server.MapPath("testMail\PiezaNuevo.htm")
Set fso			= 		CreateObject("Scripting.FileSystemObject")
Set archivo		=		fso.OpenTextFile(Fname)
mensaje 		=		archivo.readall
archivo.close

Set archivo		= 		Nothing
Set fs			=		Nothing 

StrMensaje		=		mensaje
StrMensaje		= 		replace(StrMensaje,"{1}",rs("loquesea"))

'/**************************************
' 			Envio Mail
'/*************************************

Set oMail 		= 		Server.CreateObject("CDO.Message")

oMail.From 		= 		"[email protected]"
oMail.To 		= 		"[email protected]"
oMail.Subject	= 		"asunto"
oMail.HTMLBody 	= 		StrMensaje

oMail.Send 

Set oMail 		= 		Nothing
%>

Nuevamente Muchas gracias


Atte Gustavo
  #7 (permalink)  
Antiguo 29/08/2007, 13:18
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Re: CDO, AspEmail - importar htm y embeber con parametros.

me alegra te haya servido

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
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 20:03.