RoundCube为下面的纯文本电子邮件提供了一个很好的配色方案.
我想知道RoundCube如何做到这一点,以及如何在Delphi中实现这个配色方案?
>>>> Peter says:
>>>> Peter says:
>>> Jane says:
>>> Jane says:
>> Peter says:
>> Peter says:
> Jane says:
> Jane says:
Peter says:
Peter says:
Run Code Online (Sandbox Code Playgroud)

我不知道RoundCube是如何做到的; 我不熟悉这个产品.但是,使用HTML和CSS可以直接实现效果.
我使用嵌套blockquote元素作为电子邮件报价:
<blockquote>
<blockquote>
<blockquote>
<blockquote>
<blockquote>
<blockquote>
Peter says:<br/>
Peter says:
</blockquote>
Jane says:<br/>
Jane says:
</blockquote>
Peter says:<br/>
Peter says:
</blockquote>
Jane says:<br/>
Jane says:
</blockquote>
Peter says:<br/>
Peter says
</blockquote>
Jane says:<br/>
Jane says:
</blockquote>
Peter says:</br>
Peter says:
Run Code Online (Sandbox Code Playgroud)
然后我根据CSS中的嵌套级别对边框和文本进行着色:
body {
font-family: 'Times';
}
blockquote {
background-color: #eee;
border-left: 3px solid #00f;
border-right: 3px solid #00f;
color: #00f;
padding: 0.6em 0.9em 0.3em;
margin: 0 0 0.3em;
}
blockquote > blockquote {
color: #0f0;
border-color: #0f0;
}
blockquote > blockquote > blockquote {
color: #b22;
border-color: #b22;
}
Run Code Online (Sandbox Code Playgroud)
你可以看一个现场演示.
RoundCube是一个Web电子邮件程序,因此如果您想确认它是如何工作的,您可以查看它生成的HTML.
关于该任务最难的部分是解析电子邮件以识别来自同一级别的文本块,但这超出了该问题的范围.