python – 仅获取电子邮件文本的可靠方式,不包括以前的电子邮件

我正在创建一个基本系统,允许用户通过电子邮件回复网站上的帖子.但是,大多数电子邮件客户端在其回复电子邮件中包含以前电子邮件的文本.该文本在网站上是不受欢迎的.

是否有一种可靠的方法可以在不事先了解早期电子邮件的情况下仅提取新邮件?我正在使用Python的电子邮件类.

示例消息:

Content-Type: text/plain; charset=ISO-8859-1

test message! This is the part I want.

On Thu, Mar 24, 2011 at 3:51 PM, <test@test.com> wrote:

> Hi!
>
> Herman just posted a comment on the website:
>
>
> From: Herman
> "Hi there! I might be interested"
>
>
> Regards,
> The Website Team
> http://www.test.com
>

这是来自gmail的回复邮件,我相信其他客户可能会采用不同的方式.一个好的开始可能是忽略以>开头的行,但在新消息之间也可能有这样的行,然后它们可能应该被保留.我还将拥有内容类型行和日期行.

最佳答案
电子邮件回复的格式取决于客户端.没有可行的方法来提取最新的消息而没有删除太多或不够的风险.

但是,标记引号的常用方法是在其前面添加>所以以该字符开头的行 – 特别是如果在电子邮件的最后或开头有多个 – 可能是引号.

但是On Thu,2011年3月24日下午3:51,< test@test.com\u0026gt;写道:从你的例子很难提取.在引号前面以:结尾的行可能表示它属于引号,您无法确定 - 它也可能是新消息的一部分而冒号只是一个错字. (在德语键盘上:是SHIFT.).

转载注明原文:python – 仅获取电子邮件文本的可靠方式,不包括以前的电子邮件 - 代码日志