Fixed that MailHandler raises an error when email has no subject header (#12396).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10850 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
f232f56d97
commit
a829bfa755
|
@ -124,6 +124,7 @@ class MailHandler < ActionMailer::Base
|
|||
|
||||
def dispatch
|
||||
headers = [email.in_reply_to, email.references].flatten.compact
|
||||
subject = email.subject.to_s
|
||||
if headers.detect {|h| h.to_s =~ MESSAGE_ID_RE}
|
||||
klass, object_id = $1, $2.to_i
|
||||
method_name = "receive_#{klass}_reply"
|
||||
|
@ -132,9 +133,9 @@ class MailHandler < ActionMailer::Base
|
|||
else
|
||||
# ignoring it
|
||||
end
|
||||
elsif m = email.subject.match(ISSUE_REPLY_SUBJECT_RE)
|
||||
elsif m = subject.match(ISSUE_REPLY_SUBJECT_RE)
|
||||
receive_issue_reply(m[1].to_i)
|
||||
elsif m = email.subject.match(MESSAGE_REPLY_SUBJECT_RE)
|
||||
elsif m = subject.match(MESSAGE_REPLY_SUBJECT_RE)
|
||||
receive_message_reply(m[1].to_i)
|
||||
else
|
||||
dispatch_to_default
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
Content-Type: application/ms-tnef; name="winmail.dat"
|
||||
Content-Transfer-Encoding: binary
|
||||
From: John Smith <JSmith@somenet.foo>
|
||||
To: "redmine@somenet.foo" <redmine@somenet.foo>
|
||||
Date: Fri, 1 Jun 2012 14:39:38 +0200
|
||||
Message-ID: <87C31D42249DD0489D1A1444E3232DD7019D6183@foo.bar>
|
||||
Accept-Language: de-CH, en-US
|
||||
Content-Language: de-CH
|
||||
|
||||
Fixture
|
|
@ -395,6 +395,15 @@ class MailHandlerTest < ActiveSupport::TestCase
|
|||
assert_equal ja, issue.subject
|
||||
end
|
||||
|
||||
def test_add_issue_with_no_subject_header
|
||||
issue = submit_email(
|
||||
'no_subject_header.eml',
|
||||
:issue => {:project => 'ecookbook'}
|
||||
)
|
||||
assert_kind_of Issue, issue
|
||||
assert_equal '(no subject)', issue.subject
|
||||
end
|
||||
|
||||
def test_add_issue_with_mixed_japanese_subject
|
||||
issue = submit_email(
|
||||
'subject_japanese_2.eml',
|
||||
|
|
Loading…
Reference in New Issue