2017-10-06 75 views
0

我有一个textarea,其中包含下面样式的电子邮件正文。但该电子邮件不保留Outlook中的任何下列样式。我有<cfmail type="html"。关于如何保留下面的风格的任何想法。额外的html标签在我包含在电子邮件中的另一个页脚文件中有关闭标签。Textarea在电子邮件中丢失风格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

您是否尝试过在基于Web的电子邮件客户端(如Gmail)中查看电子邮件?我问,因为Outlook不支持电子邮件的完整CSS规范。在这里看一看Outlook不支持的所有内容:https://www.campaignmonitor.com/css/email-client/outlook-2007-16/ 如果它在网络客户端中按预期呈现,那么Outlook的支持水平可能是罪魁祸首。 –

回答

0

你想让HTML成为textarea的输入内容吧?您需要对内容进行编码。

<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>存储所需的输入到可变content
encodeForHtml()对所述变量的文本进行编码,因此它不被识别为实际的HTML /标记(例如<&lt;,>&gt;等),而是作为文字文本。

+0

我把html放到了中,现在只是添加了encodeForHtml(内容),仍然是相同的行为。 – user747291

0

我最近不得不编写一个页面来让我们的邮件服务员调查邮递问题。我以简单的方式做到了。

窗体页

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

操作页面

<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> 

它的工作原理辉煌。我使用ColdFusion版本9.