From ffcd722c40c4e0e588f94cd429861d75d8645d82 Mon Sep 17 00:00:00 2001 From: Go MAEDA Date: Tue, 19 Feb 2019 11:36:04 +0000 Subject: [PATCH] Daylight savings causes inconsistency of Message-Id (#13888). Patch by Go MAEDA. git-svn-id: http://svn.redmine.org/redmine/trunk@17890 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/mailer.rb | 2 +- test/unit/mailer_test.rb | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/models/mailer.rb b/app/models/mailer.rb index dc155648e..2364774fb 100644 --- a/app/models/mailer.rb +++ b/app/models/mailer.rb @@ -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) diff --git a/test/unit/mailer_test.rb b/test/unit/mailer_test.rb index 7af853b67..d3ff87418 100644 --- a/test/unit/mailer_test.rb +++ b/test/unit/mailer_test.rb @@ -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) -- 2.39.5