1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
From: Per Andersson <avtobiff@gmail.com>
Date: Wed, 6 Jun 2012 18:05:19 +0200
Subject: Parse messages with "\r\n" as linefeed.
Patch fetched from upstream bug tracker.
http://rubyforge.org/tracker/index.php?func=detail&aid=2821&group_id=446&atid=1756
---
lib/rmail/parser.rb | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/lib/rmail/parser.rb b/lib/rmail/parser.rb
index 84626a4..bc68f08 100644
--- a/lib/rmail/parser.rb
+++ b/lib/rmail/parser.rb
@@ -213,15 +213,17 @@ module RMail
# headers. The body part starts directly after this
# newline.
rest = data[1..-1]
+ elsif data[0] == ?\r && data[1] == ?\n
+ rest = data[2..-1]
else
- header, rest = data.split(/\n\n/, 2)
+ header, rest = data.split(/\r?\n\r?\n/, 2)
end
break if rest
end
input.pushback(rest)
if header
mime = false
- fields = header.split(/\n(?!\s)/)
+ fields = header.split(/\r?\n(?!\s)/)
if fields.first =~ /^From /
@handler.mbox_from(fields.first)
fields.shift
--
|