]> source.dussan.org Git - redmine.git/commitdiff
Daylight savings causes inconsistency of Message-Id (#13888).
authorGo MAEDA <maeda@farend.jp>
Tue, 19 Feb 2019 11:36:04 +0000 (11:36 +0000)
committerGo MAEDA <maeda@farend.jp>
Tue, 19 Feb 2019 11:36:04 +0000 (11:36 +0000)
Patch by  Go MAEDA.

git-svn-id: http://svn.redmine.org/redmine/trunk@17890 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/mailer.rb
test/unit/mailer_test.rb

index dc155648e742cd9b89a5146b46be28f26855ae68..2364774fb9325c3aa89a4961fbf2f53c9beae5c4 100644 (file)
@@ -721,7 +721,7 @@ class Mailer < ActionMailer::Base
     hash = [
       "redmine",
       "#{object.class.name.demodulize.underscore}-#{object.id}",
-      timestamp.strftime("%Y%m%d%H%M%S")
+      timestamp.utc.strftime("%Y%m%d%H%M%S")
     ]
     if rand
       hash << Redmine::Utils.random_hex(8)
index 7af853b67b66de02acca543d1605f82d636de8ac..d3ff87418beebec0ace0fa5ae4642782a8881131 100644 (file)
@@ -343,6 +343,17 @@ class MailerTest < ActiveSupport::TestCase
     end
   end
 
+  def test_timestamp_in_message_id_should_be_utc
+    zone_was = Time.zone
+    issue = Issue.find(3)
+    %w(UTC Paris Tokyo).each do |zone|
+      Time.zone = zone
+      assert_match /^redmine\.issue-3\.20060719190727\.[a-f0-9]+@example\.net/, Mailer.token_for(issue)
+    end
+  ensure
+    Time.zone = zone_was
+  end
+
   test "#issue_add should notify project members" do
     issue = Issue.find(1)
     assert Mailer.deliver_issue_add(issue)