首页 / 知识
使用HTML编写简单的邮件模版
2023-04-11 15:54:00
今天,我想写一个"低技术"问题。 话说我订阅了不少了新闻邮件(Newsletter),比如JavaScript Weekly。每周收到一封邮件,了解本周的大事。 有一天,我就在想,是不是我也能做一个这样的邮件? 然后,就发现这事不那么容易。抛开后台和编辑工作,单单是设计一个Email样板,就需要不少心思。 因为这种带格式的邮件,其实就是一张网页,正式名称叫做HTML Email。它能否正常显示,完全取决于邮件客户端。大多数的邮件客户端(比如Outlook和Gmail),会过滤HTML设置,让邮件面目全非。 我发现,编写HTML Email的窍门,就是使用15年前的网页制作方法。下面就是我整理的编写指南。 1. Doctype 目前,兼容性最好的Doctype是XHTML 1.0 Strict,事实上Gmail和Hotmail会删掉你的Doctype,换上这个Doctype。 XML/HTML Code复制内容到剪贴板
使用这个Doctype,也就意味着,不能使用HTML5的语法。 2. 布局 网页的布局(layout)必须使用表格(table)。首先,放置一个最外层的大表格,用来设置背景。 XML/HTML Code复制内容到剪贴板
表格的 border 属性等于1, 是为了方便开发。正式发布的时候,再把这个属性设为0。 在内层,放置第二个表格。用来展示内容。第二个table的宽度定为600像素,防止超过客户端的显示宽度。 XML/HTML Code复制内容到剪贴板
邮件内容有几个部分,就设置几行(row)。 3. 图片 图片是唯一可以引用的外部资源。其他的外部资源,比如样式表文件、字体文件、视频文件等,一概不能引用。 有些客户端会给图片链接加上边框,要去除边框。 CSS Code复制内容到剪贴板
需要注意的是,不少客户端默认不显示图片(比如Gmail),所以要确保即使没有图片,主要内容也能被阅读。 4. 行内样式 所有的CSS规则,最好都采用行内样式。因为放置在网页头部的样式,很可能会被客户端删除。客户端对CSS规则的支持情况,请看这里。 另外,不要采用CSS的简写形式,有些客户端不支持。比如,不要写成下面这样:
XML/HTML Code复制内容到剪贴板
如果想表达
XML/HTML Code复制内容到剪贴板
要写成下面这样:
XML/HTML Code复制内容到剪贴板
5. W3C校验和测试工具 要保证最终的代码,能够通过W3C的校验,因为某些客户端会把不合格属性剥离。还要使用测试工具(1, 2, 3),查看在不同客户端的显示结果。 发送HTML Email的时候,不要忘记MIME类型不能使用
XML/HTML Code复制内容到剪贴板
而要使用
XML/HTML Code复制内容到剪贴板
发送工具可以考虑使用 MailChimp 和 Campaign Monitor 。 6. 模板 使用别人已经做好的模板,是一个不错的选择(这里和这里),网上还可以搜到更多。 自己开发的话,可以参考HTML Email Boilerplate和Emailology。 |
最新内容
相关内容
python如何读取列表中元素的位置?
python如何读取列表中元素的位置?,位置,数据,异常,培训,字符串,元素,索引,方法,示例,结果,python读取列表中元素位置的方法:1、使用index()方python终端输出乱码怎么解决?
python终端输出乱码怎么解决?,代码,系统,一致,培训,地方,工作,终端,文件,乱码,声明,在命令行终端上工作时,经常会碰到一个头疼的问题就是中文文本处理用c还是用python
文本处理用c还是用python,位置,培训,包装,对比,字符串,函数,文本,语言,字符,效率,文本处理python与c的对比:如下c++语言:C++语言实现C++中没有python支持r语言吗?
python支持r语言吗?,代码,名称,培训,官网,第一,语言,对象,字符串,方法,后缀,python中可以支持r语言。python提供了一个模块rpy2,可以较好地完python3如何引入模块?
python3如何引入模块?,系统,位置,培训,标准,模块,方法,成员,路径,下面,别名,使用Python进行编程时,有些功能没必须自己实现,可以借助Python现有python使用matplotlib绘图怎么在线
python使用matplotlib绘图怎么在线上标注?,地方,培训,坐标轴,图像,范围,画图,示例,注释,文字描述,以上,python画图常用标注包含,坐标轴的值和python如何replace(替换)多个字符?
python如何replace(替换)多个字符?,培训,字符,字符串,方法,正则,括号,数组,函数,定义,以上,python中使用replace替换多个字符的方法:1、使用repython3中怎么编写类?
python3中怎么编写类?,培训,方式,步骤,关键字,以上,过程,方法,更多,内容,python中创建类的方法:方式一:利用class关键字classChinese(object):python可以编写win程序吗?
python可以编写win程序吗?,培训,程序,文件,内容,文件夹,模块,命令,实际,下面,根据,python可以编写win程序。win程序的格式是exe,下面我们就来python如何导入txt数据库?
python如何导入txt数据库?,数据,时间,代码,培训,数据库,函数,读数,数据表,以上,方法,python将TXT数据导入数据库的方法代码如下:#!/usr/bin/pypython怎么使用文件夹下的脚本?
python怎么使用文件夹下的脚本?,工作,培训,文件夹,脚本,文件,所在,方法,示例,路径,以上,python中使用文件夹下脚本的方法:将当前的工作目录(即python的三角函数在哪?
python的三角函数在哪?,标准,培训,函数,反函数,方法,下面,以上,更多,内容,python中的三角函数在python的标准库math中,math已经包含在你的标