2012-02-17 88 views
2

如果回复“票证”的人正在使用Gmail等邮件客户端,那么当我执行@message.body.decoded而不是他们键入的文本时,回复将显示整个对话线程。如何处理与邮递员的电子邮件线程

有没有一种方法来提取文本的只是一部分?

+0

我唯一能想到的就是把每一条消息都传出去,并且对于一条消息去做它们的差异。 – 2012-02-17 15:00:59

回答

2

一般来说,现有的答复格式化为前面>。一种选择是提取不以该字符开头的行。

所以你看电子邮件作为纯文本,可以提取它。这里是一个例子:

--f46d0basically0a0unique0id # Marks the start of content for this email 
Content-Type: text/plain; charset=ISO-8859-1 

Hello foo, 

This is a message. 

Regards, 
Bar 

> 
> Original response 
> is quoted like this 
> What in included here 
> depends on mail client 
> 


--f46d0basically0a0unique0id # Marks the end of content for this email 
+0

这看起来像是最合理的解决方案,除非联系人无缘无故开始使用>。但这是一个小小的警告。 – 2012-02-17 15:15:23

+0

我不认为这是最好的解决方案,因为消息使用'>',但也与html中的原始消息混合。 – 2012-02-17 15:30:58

+0

我想我需要分开第一个独特的部分,然后删除'>'s – 2012-02-17 15:33:05