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

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

有帮助吗?

解决方案

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

其他提示

Campaign Monitor 有一些很棒的、经过充分测试的免费模板:

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

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

一个很棒的指南:

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

除了使用某种模板(虽然很乏味)之外,内联样式是 HTML 电子邮件样式最跨客户端兼容的方式。并非每个电子邮件客户端都会获取外部样式表,而且许多客户端在嵌入样式部分方面表现不佳。

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

我会使用模板方法。创建一个简单的正则表达式模板系统并不难,用“somevar”的值替换类似#somevar#的内容。您还可以使用预制模板系统,例如 Smarty for PHP。我认为这将是最干净的方法。

亚历克斯

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

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

<p>Dear |FIRST_NAME|,

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

请注意,某些客户端(例如Lotus Notes)不支持 XHTML,因此使用普通的旧 HTML 1.0,不带 css,应该没问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top