ColdFusion cfmail 如何保持格式

ColdFusion cfmail how do I keep the formatting

在我的 ColdFusion 程序中,我为一个或多个收件人创建电子邮件 (HTML/CSS),并将其放入 .cfm 文件中。电子邮件格式很好。当我 运行 将保存的文件作为程序时,cfmail 标签将电子邮件发送给任何人,一切正常。但是,在此过程中,我的格式丢失了。我知道当电子邮件到达目标时,我的本地 CSS 没有理由正常运行。但如果我能保留开始时的格式就好了。

有没有人对我如何做到这一点有什么建议。

如果您没有在 cfmail 标签中包含属性 type="html",这可能会影响您电子邮件的格式。此外,在 cfmail 标签内,除了您的内容之外,还嵌入您的风格。例如:

<cfmail from="foo@bar.com" to="foobar@bar.com" subject"test" server="mymailserver" type="html">
  <html>
    <head>
      <style>
        .test { color: ##cc0000; }
      </style>
    </head>
    <body>
      <div class="test">This email is in red</div>
    </body>
  </html>
</cfmail>

电子邮件的样式设置可能很棘手,因为它因客户而异 - 整篇博客文章都专门讨论了这一点。例如,head 部分中的样式在某些客户端中被忽略而在其他客户端中被识别。遗憾的是,内联样式似乎是 "best" 方法。

如果哪些客户满足以下条件,则活动监控网站上有一个很好的概述: https://www.campaignmonitor.com/css/

Mailchimp 有一个方便的工具,可以根据您的 HTML/CSS 为您内联样式: http://templates.mailchimp.com/resources/inline-css/

还值得包括一个纯文本版本以获得最大的兼容性。你可以这样做:

<cfmail to="someone@somewhere.xyz"
        from="me@here.xyz"
        subject="Hello!"
        type="html">
   <cfmailpart type="text/plain" wraptext="60">
     Hello,
     This is plain text version
   </cfmailpart>
   <cfmailpart type="text/html">
     <h3>Hello</h3>
     <p>This is <b style="color:red;">HTML</b> version</p>
   </cfmailpart>
</cfmail>