]> source.dussan.org Git - redmine.git/commitdiff
Mailer.token_for generates invalid message_id when using from address with full name...
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 2 May 2014 07:56:11 +0000 (07:56 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 2 May 2014 07:56:11 +0000 (07:56 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@13126 e93f8b46-1217-0410-a6f0-8f06a7374b81

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

index 1ded8d6ea1c101220edb1ef61c8fd4810f785438..8be6f83fd791c5a850875e5cb756722968a305c4 100644 (file)
@@ -464,7 +464,7 @@ class Mailer < ActionMailer::Base
     if rand
       hash << Redmine::Utils.random_hex(8)
     end
-    host = Setting.mail_from.to_s.gsub(%r{^.*@}, '')
+    host = Setting.mail_from.to_s.strip.gsub(%r{^.*@|>}, '')
     host = "#{::Socket.gethostname}.redmine" if host.empty?
     "#{hash.join('.')}@#{host}"
   end
index 8d661fc51ddff06f02e46ca5b8792897f1492978..983e9fc4fe30670ede460a914690fe6c155c0187 100644 (file)
@@ -650,6 +650,12 @@ class MailerTest < ActiveSupport::TestCase
     assert ActionMailer::Base.perform_deliveries
   end
 
+  def test_token_for_should_strip_trailing_gt_from_address_with_full_name
+    with_settings :mail_from => "Redmine Mailer<no-reply@redmine.org>" do
+      assert_match /\Aredmine.issue-\d+\.\d+\.[0-9a-f]+@redmine.org\z/, Mailer.token_for(Issue.generate!)
+    end
+  end
+
   def test_layout_should_include_the_emails_header
     with_settings :emails_header => "*Header content*" do
       with_settings :plain_text_mail => 0 do