Envio de correos vistosos

132 views
Skip to first unread message

acmc

unread,
Feb 25, 2015, 1:01:08 PM2/25/15
to publice...@googlegroups.com
Hola Foxeros,

Tengo un cliente que quiere llevar el control de campañas de Marketing y para ello quiere estar enviando correos de promociones a sus clientes que estan en el sistema de FOX, pero los correos los quiere con mucha presentación, parecido a lo que manda DELL o HP para sus ofertas, la pregunta es en que me puedo apoyar para poder crear ese tipo de correos y poderlos mandar desde fox por medio de Outlook, de antemano mil gracias a todas sus sugerencias.

Salu2!!

Miguel A.

unread,
Feb 25, 2015, 3:05:43 PM2/25/15
to publice...@googlegroups.com
Insertando una página web en el cuerpo del mensaje.
Saludos
Miguel A.

sochandoreno

unread,
Feb 25, 2015, 4:15:31 PM2/25/15
to publice...@googlegroups.com

Saludos,

Puedes crear el correo en formato HTML.

Atte.,
Jaime Vargas De La Torre
Vencom Services, C.A.

Jorge Kiernan

unread,
Feb 25, 2015, 8:54:21 PM2/25/15
to publicesvfoxpro
Por si te sirve, este es un código puesto en el evento click de un boton asociado a envio de correos.
En la propiedad agregada this.enhtlm le indico que lo que quiero mandar en texto comun (.F.) o HTML (.T.)
Para crear el cuerpo en HTML uso el TEXT ... END TEXT

IF EMPTY(this.DIRECCION)
MESSAGEBOX('falta la direccion de correo',16,'INCOMPLETO')
RETURN
ENDIF 
IF EMPTY(this.archivo) AND EMPTY(this.body)
MESSAGEBOX('indique la imagen a enviar x correo';
+CHR(13)+'O complete el texto del correo';
,16,'INCOMPLETO')
RETURN
ENDIF 
IF !EMPTY(this.archivo) AND !file(this.archivo)
MESSAGEBOX('No encuentra el archivo de imagen a enviar x correo';
+CHR(13)+this.archivo;
,16,'INCOMPLETO')
RETURN
ENDIF 
IF VARTYPE(this.outlook) <> 'O'
TRY 
this.outlook= GETOBJECT( ,"Outlook.Application") 
CATCH TO loerror 
TRY 
this.outlook= Createobject("Outlook.Application") 
CATCH TO loerror
ENDTRY 
ENDTRY 
IF VARTYPE(this.outlook) <> 'O'
MESSAGEBOX('No pudo abrir el outlook para mandar el mail',16,'')
RETURN
ENDIF
ENDIF 
TRY 
oEmail = this.outlook.CreateItem(0) 
With oEmail 
.Subject = ALLTRIM(This.asunto)
.Importance = 1 
IF this.enhtlm = .f.
IF EMPTY(this.body)
.Body = ALLTRIM(This.asunto)
ELSE
.Body = this.body
ENDIF 
ELSE
IF EMPTY(this.body)
.HTMLBody = ALLTRIM(This.asunto)
ELSE
.HTMLBody = this.body
ENDIF 
ENDIF 
.TO = this.DIRECCION
* .Recipients(1).TYPE = 1
IF !empty(this.archivo)
.attachments.add(this.archivo)
ENDIF 
.Send 
EndWith 
Release oEmail 
oMAPI = this.outlook.GetNameSpace("MAPI") 
oCarpeta = oMAPI.GetDefaultFolder(4) 
oCarpeta.display
CATCH TO loerror
MESSAGEBOX('No puede enviar el correo ';
+CHR(13)+'Direccion '+this.DIRECCION;
+CHR(13)+'Asunto ' +This.asunto ;
+CHR(13)+'Adjunto '+this.archivo;
+CHR(13)+LOERROR.MESSAGE;
,16,'FALLA EN EL OUTLOOK')

ENDTRY 

Como ejemplo de creacion del HTML que crea un cuerpo con una grilla que luego voy cargando:
TEXT TO lcHTML ADDITIVE TEXTMERGE NOSHOW
<html>
<HEAD><<LCFECHA>>
<style>
* {padding:0px; margin:0px; font-size:11px; font-family:Tahoma, Geneva, sans-serif; color:#000;}
table {width:100%; font-size:11px; font-family:Tahoma, Geneva, sans-serif;}
table td { border:solid 1px #666; padding:4px; font-size:11px; font-family:Tahoma, Geneva, sans-serif; }
table tr.bottom th { margin-bottom:10px; font-size:11px; font-family:Tahoma, Geneva, sans-serif; }
</style>
</HEAD>
<table id="GenTable" border=0 cellpadding="0" cellspacing="0">
ENDTEXT

SELECT presenta
SCAN 
IF ALLTRIM(TRACTOR) = 'TRACTOR'
IF INLIST(SECTOR,'YPF','PETRO','OIL')
DO CASE 
CASE SECTOR = 'YPF'
TEXT TO lcHTML ADDITIVE TEXTMERGE NOSHOW
<tr style="background-color:royalblue">
ENDTEXT 
CASE SECTOR = 'PETRO'
TEXT TO lcHTML ADDITIVE TEXTMERGE NOSHOW
<tr style="background-color:forestgreen">
ENDTEXT 
CASE SECTOR = 'OIL'
TEXT TO lcHTML ADDITIVE TEXTMERGE NOSHOW
<tr style="background-color:darkturquoise">
ENDTEXT 
ENDCASE
ENDIF 
* titulos
IF ThisForm.Pgfgral1.Page1.Optgral1.Value < 3
TEXT TO lcHTML ADDITIVE TEXTMERGE NOSHOW
<th><<Tractor>></th>
<th><<M3>></th>
<th>Viajes</th>
<th><<COMENT>></th>
<th>Chofer1</th>
<th>Inicio1</th>
<th>Jornada1</th>
<th>Estatus</th>
<th>Chofer2</th>
<th>Inicio2</th>
<th>Jornada2</th>
<th>En reserva</th>
</tr>

ENDTEXT 
y asi sigue armando la variable LCHTML que en definitiva es lo que se pone en el cuerpo del correo.
Con paciencia, tutoriales varios, se puede armar cualquier presentación.
Suerte.

acmc

unread,
Feb 26, 2015, 5:06:06 PM2/26/15
to publice...@googlegroups.com
Gracias jkiernan  por el ejemplo..

Yo lo que estoy por hacer, es crear un diseño de fondo en outlook, ahí ya es pegar imagenes, poner tipos de letras y demas, para que al mandar la creación del mensaje de correo de outlook
por automatización, por default ya tenga el diseño preestablecido, talvez así sea mas facil incluso el cliente puede estar cambiando los diseños sin tener que esperar a que yo meta mano no cres?

Salu2!!

Miguel A.

unread,
Feb 27, 2015, 3:05:21 AM2/27/15
to publice...@googlegroups.com
Cierto, el cliente podrá cambiar el diseño (si sabe, sino te tocará a ti hacerlo) y hacerlo en cada ordenador, o ¿ese cliente solo trabaja con un equipo?.
Salidos,
Miguel A.
Reply all
Reply to author
Forward
0 new messages