Ver Mensaje Individual
  #1  
Antiguo 07-05-2013
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Reputación: 21
gluglu Va por buen camino
TWebBrowser y acciones 'raras'

Hola :

Estoy intentando "engañar" a Outlook. Para ello intento incluir el siguiente código adicional a la hora de exportar un documento en HTML desde FastReport :

Código:
WriteExpLn('<!--[if gte mso 9]> ');
WriteExpLn('  <v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="width:' + IntToStr(pWidth) + 'px; height:' + IntToStr(pHeight) + 'px;">');
WriteExpLn('    <v:fill type="frame" src="'+ s +'" color="#ffffff" />');
WriteExpLn('    <v:textbox inset="0,0,0,0">');
WriteExpLn('<![endif]-->');
Lo que pretendo (ya sé que todo el mundo lo desaconseja ....) es gestionar imágenes de fondo en los correos.

Para 'previsualizar' el correo electrónico antes de enviarlo, utilizo un TWebBrowser.

Lo 'extraño' y puñe... es que el TWebBrowser parece eliminar intencionadamente ese código.

A la hora de tomar el código HTML para guardarlo en la base de datos y después enviarlo (utilizo el WebBrowser además para que si el usuario lo quiere, pueda modificar el correo antes de enviarlo con la función edición del WebBrowse), lo cual hago de esta manera :

Código Delphi [-]
    iall := (WebBrowser1.Document as IHTMLDocument2).Body;
    While iall.parentElement <> nil do
      iall := iall.parentElement;

    Aux_Memo      := TMemo.Create(Self);
    Aux_Memo.Text := iall.outerHTML;

... pues lo que se puede observar es que el código adicional que mencionaba arriba, ha desaparecido simplemente del texto que obtengo !

Y lo que obtengo es (junto con algunas líneas anteriores y posteriores del código HTML) es :

Código:
<TBODY>
<TR>
<TD vAlign=top align=left>
<A name=PageN1></A>
<TABLE border=0 cellSpacing=0 cellPadding=0 width=799 align=center>
y lo que debería obtener es ( y lo que obtengo de hecho si analizo el HTML que exporta en sí mismo FastReport) :

Código:
<table background="Hotel - Correo.backgrnd.jpg" cellpadding="0" cellspacing="0" border="0" style="background-repeat: no-repeat;table-layout:fixed;">
<tbody>
<tr>
<td valign="top" align="left">
<!--[if gte mso 9]> 
  <v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="width:799px; height:1784px;">
    <v:fill type="frame" src="Hotel - Correo.backgrnd.jpg" color="#ffffff" />
    <v:textbox inset="0,0,0,0">
<![endif]-->
<a name="PageN1"></a>
<table width="799" align="center" border="0" cellspacing="0" cellpadding="0">
A lo mejor alguien puede comentar algo acerca de este asunto.

Gracias por adelantado.

Saludos a todos
__________________
Piensa siempre en positivo !
Responder Con Cita