mirror of
https://github.com/redmine/redmine.git
synced 2024-08-27 17:54:48 +02:00
fix receiving mail subject broken which does not begin with encoding name (#12375)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10812 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
1da74009cd
commit
617cb7ac53
@ -377,7 +377,8 @@ class MailHandler < ActionMailer::Base
|
||||
# try to reencode to utf8 manually with ruby1.8
|
||||
begin
|
||||
if h = email.header[:subject]
|
||||
if m = h.value.match(/^=\?([^\?]+)\?/)
|
||||
# http://tools.ietf.org/html/rfc2047#section-4
|
||||
if m = h.value.match(/=\?([^\?]+)\?[BbQq]\?/)
|
||||
subject = Redmine::CodesetUtil.to_utf8(subject, m[1])
|
||||
end
|
||||
end
|
||||
|
7
test/fixtures/mail_handler/subject_japanese_2.eml
vendored
Normal file
7
test/fixtures/mail_handler/subject_japanese_2.eml
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
From: John Smith <JSmith@somenet.foo>
|
||||
To: "redmine@somenet.foo" <redmine@somenet.foo>
|
||||
Subject: Re: =?iso-2022-jp?b?GyRCJUYlOSVIGyhCCg=?=
|
||||
Date: Fri, 1 Jun 2012 14:39:38 +0200
|
||||
Message-ID: <87C31D42249DD0489D1A1444E3232DD7019D6183@foo.bar>
|
||||
|
||||
Fixture
|
@ -393,6 +393,17 @@ class MailHandlerTest < ActiveSupport::TestCase
|
||||
assert_equal ja, issue.subject
|
||||
end
|
||||
|
||||
def test_add_issue_with_mixed_japanese_subject
|
||||
issue = submit_email(
|
||||
'subject_japanese_2.eml',
|
||||
:issue => {:project => 'ecookbook'}
|
||||
)
|
||||
assert_kind_of Issue, issue
|
||||
ja = "Re: \xe3\x83\x86\xe3\x82\xb9\xe3\x83\x88"
|
||||
ja.force_encoding('UTF-8') if ja.respond_to?(:force_encoding)
|
||||
assert_equal ja, issue.subject
|
||||
end
|
||||
|
||||
def test_should_ignore_emails_from_locked_users
|
||||
User.find(2).lock!
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user