2009-04-06 17 views
5

He estado trabajando en un proyecto con una función para que cuando haga clic en un botón, Outlook se abra y el valor correspondiente almacenado en una variable se encuentre en el cuerpo del correo. He intentado el siguiente código:Prellena un correo electrónico con contenido HTML

<html> 
<head> 
    <title>Email This Code Snippet</title> 
    <script language="javascript"> 
    function TriggerOutlook() 
    {   
     var sub = "Hi friend"; 
     var bodycont = "<html><body>welcome</body></html>"; 
     var body = escape(bodycont + String.fromCharCode(13));   
     window.location.href = "mailto:[email protected]" 
          + "?body=" + body 
          + "&subject=" + sub 
     ;     
    }  
</script> 
</head> 
<body> 
<form id="form1"> 
    <a href="#" onclick="TriggerOutlook()">Email this Codesnippet</a> 
    <input type="text" name="txtbody" id="txtbody"> 
</form> 
</body> 
</html> 

Pero el cuerpo del correo es <html><body>welcome</body></html> en texto plano, no HTML. ¿Cómo obtengo el formato como HTML?

Respuesta

5

No puede. El mailto specification no tiene ese tipo de control sobre el cliente de correo electrónico invocado por el navegador.

+0

+1: Todo depende de la configuración predeterminada en Outlook o de cualquier otro cliente de correo. Si el usuario ha configurado la aplicación para componer mensajes en HTML de manera predeterminada, entonces es probable que así sea como aparecerá. De lo contrario, texto sin formato. De nuevo ... el usuario decide, no la línea de mailto. –

+0

+1. 'Body =' ya no es confiable solo para texto simple tal como es. Para un envío de correo confiable y flexible, use scripts del lado del servidor. – bobince

1

Curiosamente, su código funciona para mí tal como está cuando Thunderbird es el programa de correo electrónico predeterminado. Aparentemente Thunderbird es lo suficientemente inteligente como para notar que el cuerpo comienza con <html> y cambia al modo de correo HTML.

Al principio parece que para convencer a Outlook de comportarse de manera similar, puede intentar configurar el encabezado Content-Type en el correo electrónico a "text/html". Sin embargo, no veo cómo es posible usar mailto ya que no tienes control sobre los encabezados.

Cuestiones relacionadas