格式化HTML电子邮件的最佳方法?

时间:2020-03-06 14:25:51  来源:igfitidea点击:

我正在实现一个评论控件,该控件允许一个人选择评论并将其发送到指定部门。电子邮件需要以特定的方式格式化,我想知道这样做的最佳方法是什么。

我应该只是将所有样式信息硬编码为一个庞大的方法,还是应该尝试创建一个单独的文件并读取该文件,然后用相关信息替换某些标签?

解决方案

如果可能,找到并使用某种模板库。这将使每封电子邮件成为模板,比硬编码表单更易于维护。

我将使用模板方法。他不难创建一个简单的正则表达式模板系统,用'somevar'的值替换#somevar之类的东西。我们也可以使用预制模板系统,例如Smarty for PHP。我认为这将是最干净的方法。

亚历克斯

内联样式除了使用某种繁琐的模板外,内联样式也是样式化HTML电子邮件最与跨客户端兼容的方式。并非每个电子邮件客户端都会获取外部样式表,并且许多嵌入式样式部分的效果也不尽人意。

在这种情况下,我将为电子邮件选择一套相当简单的样式规则,以确保在不同的电子邮件客户端中看起来相同,并且尽量不要过于依赖图像,因为许多客户端需要额外的点击才能显示内容。

我过去曾使用XLST模板来格式化电子邮件。通常,最好使用表格和内联CSS构造电子邮件。请注意,Outlook 2007不支持背景图片:(

绝对使用模板。我已经使用文本模板使用自定义标签完成了此操作,如下所示:

<p>Dear |FIRST_NAME|,

但是我真的不能推荐这个。这是一个痛苦的世界。我第二次这样做(用于log4net的html电子邮件添加程序),我使用xslt将对象(在本例中为log4net消息)转换为html电子邮件。更整洁。

请注意,某些客户端(例如Lotus Notes)不支持XHTML,因此请使用没有CSS的纯旧HTML 1.0,我们应该可以。

Campaign Monitor具有一些经过了良好测试的出色免费模板:

http://www.campaignmonitor.com/templates/

确保我们使用的任何内容都能在所有客户端中正常显示。

很棒的指南:

http://www.campaignmonitor.com/blog/archives/2008/05/2008_email_design_guidelines.html