Postmark - 清理解析的电子邮件

0 投票
2 回答
753 浏览
提问于 2025-04-18 04:23

我希望我的客户能够通过电子邮件回复。我正在考虑使用一些可以解析收到的电子邮件的工具,比如postmark,但它们似乎会把所有的嵌套回复和额外的头部信息都包含在邮件里,而不仅仅是新的内容。

目前我使用的方法是:

clean_index = text.find('Respond by replying to this message above this line.')
if clean_index != -1 and clean_index > 1:
    new_text = text[:clean_index]
else:
    new_text = text
return new_text

不过,每个电子邮件客户端在回复邮件时似乎都有不同的处理方式。例如,hotmail在你点击回复时,会在之前的邮件上方添加一些标记:

My typed new message......
From: test@hotmail.com
To: q3vxif_e+lj9p@inbound.test.com
Subject: RE: hhj - test
Date: Sat, 26 Apr 2014 16:42:51 +0100
Respond by replying to this message above this line.

这就意味着回复的邮件里会有很多额外的杂七杂八的信息,而不仅仅是消息本身。

问题

我的问题是,在提取电子邮件中的新消息时,有没有一种“通用”的方法可以去掉所有其他无用的信息呢?

2 个回答

0

Postmark 应用现在支持解析回复内容。解析后的内容会放在 StrippedTextReply 这个属性里。

根据 Postmark 的文档,有一些限制:

StrippedTextReply 字段只支持英文回复,目前已经在以下邮箱平台上进行了测试:Yahoo、iCloud、Gmail、Outlook.com、iOS 邮件、Apple Mail、Microsoft Outlook(Windows 和 Mac)以及 Mozilla Thunderbird。Postmark 会尽力解析所有收到的回复。

想了解更多,可以点击 这里

0

很遗憾,这个问题没有一个通用的解决办法。主要是因为你提到的原因——每个服务提供商(在这里指的是邮件客户端)都有自己的格式。

你可以参考一些现有的开源项目,它们处理类似的情况。比如,Github允许人们通过邮件回复问题,并且他们把解析器的代码开源了

(而Gitlab目前还没有这个功能。)

撰写回答