虽然 HTML 邮件可以为邮件提供格式和更丰富的表现手段,但对于需要多人反复讨论多个来回的邮件而言,纯文本邮件仍然是最适合的。Gmail 对于纯文本邮件的支持很好,但国内仍然有很多邮箱对纯文本邮件的支持很糟糕。因此滇狐编写了引文生成器和邮件渲染器,让使用国内邮箱的朋友编写和阅读纯文本邮件可以稍微舒服一些。

1 如何在邮件中引文

对于需要来回多次的邮件讨论而言,最适合的回复方式是,引用收到的原文,并将回复穿插在原文之中。由于纯文本不能添加格式和颜色,因此为了区分原文和回复,我们就必须给引文加上引文符号。引文符号的写法是,在原文的每行的最前方添加一个大于号 >,大于号后面留一个空格;如果对回复中的引文再进行引用,则大于号后面不留空格。

单纯这么说显得有点抽象,我们还是举个具体的例子吧,譬如,有一天,小明给小红发了一封邮件,并抄送了小强:

大家好,

我们周末去香山玩,你们觉得怎么样?

-- 
小明

当小红收到的时候,首先要在小明的邮件全文每一行前方都加上大于号,和一个空格,对于全空的行就直接去掉,不再添加纯空引文,签名部分也去掉,添加引文标记后结果如下:

> 大家好,
> 我们周末去香山玩,你们觉得怎么样?

接下来,小红需要在引文的最前方加上对小明的原文的简要说明,包括原文的撰写时间,小明的名字以及 E-mail 地址:

在 2011-03-15 09:32:04 +0800,小明 <ming@anyhost.anywhere> 写到:
> 大家好,
> 我们周末去香山玩,你们觉得怎么样?

然后接下来她就可以将她的回复穿插在引用的原文中间了:

二位好!

在 2011-03-15 09:32:04 +0800,小明 <ming@anyhost.anywhere> 写到:
> 大家好,
> 我们周末去香山玩,你们觉得怎么样?

最近这个季节香山的叶子应该还没有红,我觉得去香山有点太早了点了。趁现在
天气还不太冷,一起去钓鱼你们觉得怎么样?

-- 
小红

看到这里大家应该都明白引文符号的用法了,下面我们继续说什么叫对引文再进行引文。接下来,小强又回复了小红的邮件,他在回复的时候,同样也需要引用之前收到的内容,这里面就包含了小红写的原文,以及小红对小明的引文。因此,在他的回复里,也需要区分对于小红的原文的引文,和对于小红对小明的引文的引文。按照我们前面说的,对于原文的引文,格式是大于号 > 后面留一个空格,对于引文的引文,格式是直接一个大于号,后面不留空格。于是,小强添加了引文符号,最前方再加上原文说明后的邮件内容如下:

在 2011-03-15 14:32:04 +0800,小红 <hong@anyhost.anywhere> 写到:
> 二位好!
> 在 2011-03-15 09:32:04 +0800,小明 <ming@anyhost.anywhere> 写到:
>> 大家好,
>> 我们周末去香山玩,你们觉得怎么样?
> 最近这个季节香山的叶子应该还没有红,我觉得去香山有点太早了点了。趁现在
> 天气还不太冷,一起去钓鱼你们觉得怎么样?

然后将他的回复穿插在引文中:

两位好,

在 2011-03-15 14:32:04 +0800,小红 <hong@anyhost.anywhere> 写到:
> 二位好!
> 在 2011-03-15 09:32:04 +0800,小明 <ming@anyhost.anywhere> 写到:
>> 大家好,
>> 我们周末去香山玩,你们觉得怎么样?

我觉得香山还是不错的,公交很多,交通比较方便,而且花的时间也不会太长。

> 最近这个季节香山的叶子应该还没有红,我觉得去香山有点太早了点了。趁现在
> 天气还不太冷,一起去钓鱼你们觉得怎么样?

叶子红了以后满山都是人,玩起来就没兴致了,而且香山的红叶的确是名大于
实,没什么意思。我觉得现在这个季节去香山挺好的。

-- 
小强

以上例子演示了如何使用纯文本格式回复邮件,如何在邮件中使用引文符号,以及如何对引文再进行引文。合理使用引文符号,可以让邮件的回复结构清晰且有针对性,对于讨论是非常有好处的。

2 引文生成器

在实际生活中,如果收到一封邮件后,使用纯手工的方式引用原文的话,在原文每行前方添加大于号和空格是一件非常枯燥和繁琐的事情,更何况如果引文里面还包含引文的话,纯人力判断每行是对原文的引文还是对引文的引文,更是一件无法忍受的事情。因此,引文的生成,应该是由邮件客户端自动完成的。

然而,国内的大部分邮件客户端(包括网页客户端),都无法生成符合标准的引文,因此,滇狐提供了这个小工具,用半自动的方法为编写纯文本邮件提供一点点方便。只要将邮件的原文复制、粘贴到该小工具上方的框里面,点击“Quote it!”按钮,下方的框里就会生成对原文的引文,引用的时候自动去掉了空白行,并且考虑了原文的引文和引文的引文之间的区别。譬如,如果你将前面最后一封小强的来信全文复制粘贴到这个小工具里面,点击“Render it!”之后,你就会得到这样的结果:

> 两位好,
> 在 2011-03-15 14:32:04 +0800,小红 <hong@anyhost.anywhere> 写到:
>> 二位好!
>> 在 2011-03-15 09:32:04 +0800,小明 <ming@anyhost.anywhere> 写到:
>>> 大家好,
>>> 我们周末去香山玩,你们觉得怎么样?
> 我觉得香山还是不错的,公交很多,交通比较方便,而且花的时间也不会太长。
>> 最近这个季节香山的叶子应该还没有红,我觉得去香山有点太早了点了。趁现在
>> 天气还不太冷,一起去钓鱼你们觉得怎么样?
> 叶子红了以后满山都是人,玩起来就没兴致了,而且香山的红叶的确是名大于
> 实,没什么意思。我觉得现在这个季节去香山挺好的。
-- 
小强

在最前方加上原文说明,并将最后的签名部分删除之后,这就是一份完整的符合标准的引文了。由于这个工具不能识别原文的哪个部位是签名,因此删除签名的工作需要手工做一下,接下来只要将你的回复穿插在其中就可以了。

对于 QQ 邮箱这样的完全不能生成引文标记的邮箱,可以使用这个工具直接生成引文。对于网易邮箱这样能够生成引文标记,但引文标记的格式不正确的,这个小工具还可以用来修正格式不正确的引文。将网易生成的格式不正确的引文复制粘贴进去,勾上小工具上的“Already quoted”复选框,然后点击“Fix it!”按钮,就可以将格式不正确的引文修正为格式正确的引文了。

举个例子,如果你用网易邮箱回复小强的邮件,网易邮箱为你生成的引文是这个样子的:

At 2011-09-07 07:11:40,小强 <qiang@anyhost.anywhere> wrote:
>两位好,
>
>在 2011-03-15 14:32:04 +0800,小红 <hong@anyhost.anywhere> 写到:
>> 二位好!
>> 在 2011-03-15 09:32:04 +0800,小明 <ming@anyhost.anywhere> 写到:
>>> 大家好,
>>> 我们周末去香山玩,你们觉得怎么样?
>
>我觉得香山还是不错的,公交很多,交通比较方便,而且花的时间也不会太长。
>
>> 最近这个季节香山的叶子应该还没有红,我觉得去香山有点太早了点了。趁现在
>> 天气还不太冷,一起去钓鱼你们觉得怎么样?
>
>叶子红了以后满山都是人,玩起来就没兴致了,而且香山的红叶的确是名大于
>实,没什么意思。我觉得现在这个季节去香山挺好的。
>
>-- 
>小强

主要问题有:纯空行没有移除仍然进行了引用,对于原文的引用没有在大于号后面加空格。要解决这两个问题,我们将网易生成的引文复制粘贴到我们的小工具中,勾选“Already quoted”框后使用小工具对这段引文做一次处理,结果如下,效果很好:

At 2011-09-07 07:11:40,小强 <qiang@anyhost.anywhere> wrote:
> 两位好,
> 在 2011-03-15 14:32:04 +0800,小红 <hong@anyhost.anywhere> 写到:
>> 二位好!
>> 在 2011-03-15 09:32:04 +0800,小明 <ming@anyhost.anywhere> 写到:
>>> 大家好,
>>> 我们周末去香山玩,你们觉得怎么样?
> 我觉得香山还是不错的,公交很多,交通比较方便,而且花的时间也不会太长。
>> 最近这个季节香山的叶子应该还没有红,我觉得去香山有点太早了点了。趁现在
>> 天气还不太冷,一起去钓鱼你们觉得怎么样?
> 叶子红了以后满山都是人,玩起来就没兴致了,而且香山的红叶的确是名大于
> 实,没什么意思。我觉得现在这个季节去香山挺好的。
-- 
小强

顺便再提一点,网易生成引文的时候会自动添加上原文说明,这点很好,但原文说明里日期时间之后用的是半角逗号,根据标点符号使用规范,如果那个地方使用的逗号是半角的话,逗号之后是需要保留一个空格的。如果你是对于格式非常严格的格式控的话,可以考虑在那个地方手工补一个空格。

3 邮件渲染器

对于不能良好支持引文的邮件客户端,使用了上面的那个小工具可以部分解决我们的问题。但是还有一个问题,就是当我们收到一封纯文本邮件的时候,如果你的邮件客户端不能使用不同的颜色来区分显示原文和引文的话,阅读这样回复穿插在原文中的邮件将会是一件非常痛苦的事情。为了解决这个问题,滇狐又编写了这个小工具

如果你的邮件客户端不支持使用不同颜色显示原文和引文,请将你收到的邮件全文复制粘贴到这个小工具中,然后单击“Render it!”按钮,下方的框里就会出现使用了不同颜色区分原文和引文之后的效果,如图所示:

mail_renderer