我希望在某些情况下(例如来自GitHub的电子邮件)将从我的Rails应用发送给用户的电子邮件分组为多个线程。 (在Gmail和Outlook中。)
我知道这需要在In-Reply-To
或References
电子邮件标题中具有特定消息ID的电子邮件。
我是否必须管理数据库中的所有消息ID?还是在Ruby on Rails中有更聪明的方法做到这一点?
我想知道在Rails中对电子邮件进行线程化的最佳实践。
答案 0 :(得分:1)
无需跟踪数据库中的Message-ID。
您唯一需要的方法是为相同的输入生成相同的消息ID(例如md5 hash
)。该方法的输入必须保持不变,并标识所有应分组在一起的消息。在您的示例中,来自GitHub的有关特定请求请求的分组电子邮件,他们本可以使用id作为输入。
我将开始玩这样的游戏:
require 'digets'
def message_id(identifer)
Digest::MD5.hexdigest(identifer)
end
message_id("pull-123")
#=> "23172d2caceae88a1152e967af71fc6e"
message_id("issue-456")
#=> "26c89ed68512269d003d32811bbd4527"