Ruby on rails 使用Rails ActionMailer将电子邮件分组到一个线程中有什么简单的方法吗?

Ruby on rails 使用Rails ActionMailer将电子邮件分组到一个线程中有什么简单的方法吗?,ruby-on-rails,ruby,email,gmail,actionmailer,Ruby On Rails,Ruby,Email,Gmail,Actionmailer,我希望在某些情况下,从Rails应用程序发送给用户的电子邮件可以分组为线程,就像GitHub发送的电子邮件一样。(在Gmail和Outlook中) 我知道在回复或参考电子邮件标题时,需要在中包含特定消息ID的电子邮件 我必须管理数据库中的所有邮件ID吗?或者在RubyonRails中有更聪明的方法来实现这一点吗 我想知道在Rails中线程化电子邮件的最佳实践。不需要跟踪数据库中的消息ID 您唯一需要的是一个方法,该方法为相同的输入生成相同的消息ID(例如。该方法的输入必须是不变的,并且标识所有

我希望在某些情况下,从Rails应用程序发送给用户的电子邮件可以分组为线程,就像GitHub发送的电子邮件一样。(在Gmail和Outlook中)

我知道在回复或
参考
电子邮件标题时,需要在
中包含特定消息ID的电子邮件

我必须管理数据库中的所有邮件ID吗?或者在RubyonRails中有更聪明的方法来实现这一点吗


我想知道在Rails中线程化电子邮件的最佳实践。

不需要跟踪数据库中的消息ID

您唯一需要的是一个方法,该方法为相同的输入生成相同的消息ID(例如。该方法的输入必须是不变的,并且标识所有应该分组在一起的消息。在您的示例中,来自GitHub的关于特定pull请求的分组电子邮件,他们可以使用id作为输入

我会开始玩这样的游戏:

require 'digets'

def message_id(identifer)
  Digest::MD5.hexdigest(identifer)
end

message_id("pull-123")
#=> "23172d2caceae88a1152e967af71fc6e"
message_id("issue-456")
#=> "26c89ed68512269d003d32811bbd4527"

不需要跟踪数据库中的消息ID

您唯一需要的是一个方法,该方法为相同的输入生成相同的消息ID(例如。该方法的输入必须是不变的,并且标识所有应该分组在一起的消息。在您的示例中,来自GitHub的关于特定pull请求的分组电子邮件,他们可以使用id作为输入

我会开始玩这样的游戏:

require 'digets'

def message_id(identifer)
  Digest::MD5.hexdigest(identifer)
end

message_id("pull-123")
#=> "23172d2caceae88a1152e967af71fc6e"
message_id("issue-456")
#=> "26c89ed68512269d003d32811bbd4527"

非常感谢。我认为每封电子邮件的消息ID必须是唯一的。但是,GitHub电子邮件的回复邮件头对于同一问题具有相同的邮件ID/PR:DThank you!我认为每封电子邮件的消息ID必须是唯一的。但是GitHub电子邮件的回复邮件头对于同一问题/PR:D具有相同的邮件ID