1. tomoasleep
Changes in body
Source | HTML | Preview

背景

送った一連のメールをGmailなどのメーラーの上でスレッド表示したい

解法

スレッド化したいメールのヘッダーの ReferencesIn-Reply-To を全て同じものにする.

詳細

深追いしていないので References もしくは In-Reply-To の片方でいい可能性も高いです(おそらく References だけで :ok_woman:

Railsの場合だとこんな感じに書けます。同じ item_id のメールが to@example.com ユーザのメーラ上でひとまとまりにされます。

app/mailers/sample_mailer.rb
class SampleMailer < ActionMailer::Base
  def example(item_id)
    mail(
      :from => 'from@example.com',
      :to => 'to@example.com',
      :subject => 'sample subject',
      'References' => item_id,
      'In-Reply-To' => item_id
    )
  end
end
app/mailers/sample_mailer.rb
class SampleMailer < ActionMailer::Base
  def example(item_id)
    mail(
      :from => 'from@example.com',
      :to => 'to@example.com',
      :subject => 'sample subject',
      :references => "<#{item_id}@example.com>",
      :in_reply_to => "<#{item_id}@example.com>"
    )
  end
end

参考リンク