【发布时间】:2015-06-11 07:47:10
【问题描述】:
我正在尝试找出如何最好地连接/串接一连串电子邮件。这似乎是一个常见的问题,令我惊讶的是,我无法轻松找到其他人如何处理它的信息。我发现的唯一一件事是关于 JWZ threading 的帖子,它看起来更关心在一封电子邮件中解析一个线程。我想知道是否有人可以指出一些当前的解决方案。
我正在使用思想机器人 griddler gem 将传入的电子邮件处理成一个模型 Message(s) 和一个单独的模型 Contact(s),我还有第三个模型来存储回复,例如Reply。
我目前的想法是通过唯一的联系人和主题行将它们串起来。但话又说回来,主题行会略有变化。例如从 "This subject" -> "Re: re: This subject" 我可以使用正则表达式来尝试解析 "re:"s 或者我可以使用 amatch 之类的东西来进行字符串比较?
但话又说回来,2 个月后同一用户出现的同一主题该怎么办?还添加一些关于当前日期的逻辑,以便线程只使用最近的电子邮件。那么邮件标题本身可能还存储了其他有用的东西?
- 用户(通过唯一的电子邮件地址)
- 唯一主题行(正则表达式:处理问题?)
- 当前日期(电子邮件必须是相对日期)
- 在电子邮件标题中寻找其他一些线索?
我对如何做到这一点有一个粗略的想法,我只是想看看一些当前的实现,但我似乎找不到任何实现。
任何指针将不胜感激!
【问题讨论】:
-
是否可以使用here 所述的“Message-ID”标头来关联消息?
标签: ruby-on-rails email ruby-on-rails-4 email-threading griddler