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)