2017-10-06 5 views
0

J'ai une zone de texte où j'ai le corps de l'email avec style comme ci-dessous. Mais l'e-mail ne conserve aucun des styles ci-dessous dans Outlook. J'ai <cfmail type="html". Toutes les idées sur la façon de conserver les styles que j'ai ci-dessous. Les balises html supplémentaires ont des balises de fermeture dans un autre fichier de pied de page que j'inclus dans l'e-mail.Textarea perdre des styles dans l'email coldfusion

<textarea name="email_body"> 
    <table class="one-column" border="0" cellpadding="0" cellspacing="0" width="100%" style="border-spacing:0" bgcolor="#FFFFFF"> 
      <tr><td align="left" style="padding:10px 40px 40px 40px"><p style="color:#5f6971; font-size:20px; text-align:left; font-family: Helvetica, Arial, sans-serif"><strong>Dear Dr. <cfoutput>#user.fname# #user.lname#</cfoutput>, </strong></p><p style="color:#5f6971; font-size:16px; text-align:left; font-family: Helvetica, Arial, sans-serif">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.   

     Morbi in sem quis dui placerat ornare. Pellentesque odio nisi, euismod in, pharetra a, ultricies in, diam. Sed arcu. Cras consequat.</p></td></tr></table> 
       <strong> <cfoutput>#user.detail#</cfoutput></strong> 
       <center><table cellpadding="0" cellspacing="0" border="0" width="100%"> 
        <tr><td><table border="0" cellpadding="0" cellspacing="0"><tr><td height="20" width="100%" style="font-size: 20px; line-height: 20px;">&nbsp;</td></tr></table><table border="0" align="center" cellpadding="0" cellspacing="0" style="Margin:0 auto;"><tbody><tr><td align="center"><table border="0" cellpadding="0" cellspacing="0" style="Margin:0 auto;"><tr><td width="250" height="60" align="center" bgcolor="#1a99e6"><a href="http://www.example.net" target="_blank" style="width:250; display:block; text-decoration:none; border:0; text-align:center; font-weight:bold;font-size:18px; font-family: Arial, sans-serif; color: #ffffff; background:#1a99e6" class="button_link">View the User Detail</a></td></tr></table></td></tr></tbody></table></td></tr> 
       </table></center></td></tr> 
     </table></textarea> 
+0

Avez-vous essayé d'afficher l'e-mail dans un client de messagerie Web tel que Gmail? Je demande parce que Outlook ne supporte pas la spécification CSS complète pour les emails. Jetez un coup d'oeil ici pour voir toutes les choses que Outlook ne prend pas en charge: https://www.campaignmonitor.com/css/email-client/outlook-2007-16/ S'il se comporte comme prévu dans un client Web, alors le niveau de support d'Outlook pourrait être le coupable. –

Répondre

0

Vous voulez que HTML soit le contenu entré de la zone de texte, n'est-ce pas? Vous devez encoder le contenu ensuite.

<cfsavecontent variable="content"> 
    <table class="one-column" border="0" cellpadding="0" cellspacing="0" width="100%" style="border-spacing:0" bgcolor="#FFFFFF"> 
     <tr> 
      <td align="left" style="padding:10px 40px 40px 40px"> 
       <p style="color:#5f6971; font-size:20px; text-align:left; font-family: Helvetica, Arial, sans-serif"> 
        <strong>Dear Dr. <cfoutput>#user.fname# #user.lname#</cfoutput>,</strong> 
       </p> 
       <p style="color:#5f6971; font-size:16px; text-align:left; font-family: Helvetica, Arial, sans-serif"> 
        Lorem ipsum dolor sit amet, ... 
       </p> 
      </td> 
     </tr> 
    </table> 
    <strong><cfoutput>#user.detail#</cfoutput></strong> 
    <p>etc.</p> 
</cfsavecontent> 

<textarea name="email_body"> 
    <cfoutput>#encodeForHtml(content)#</cfoutput> 
</textarea> 

<cfsavecontent> stocke entrée de votre choix dans la content variable.
encodeForHtml() code, donc il n'est pas reconnu comme HTML/balisage réels (a.k.a. < est &lt;, > est &gt; etc.), mais comme texte littéral.

+0

J'ai mis le html dans , juste ajouté le code de l'encodage (content) maintenant, toujours le même comportement. – user747291

0

J'ai récemment dû écrire une page pour permettre à nos mailmeisters d'étudier les problèmes de livraison. Je l'ai fait en toute simplicité.

page Formulaire

<cftextarea richtext="yes" name="mailBody" rows="80" cols="30" height="500"></cftextarea> 

page d'action

<cfmail from="#session.username# <#form.sender#>" 
to="#form.recipients#" subject="Test Mail" type="html"> 

#form.mailBody# 

<p>This mail was sent using ColdFusion.</p> 
</cfmail> 

Il fonctionne magnifiquement. J'utilise ColdFusion version 9.