mikel / mail

A Really Ruby Mail Library
MIT License
3.62k stars 937 forks source link

references field doesn't parse correctly for Evolution mails #110

Closed rfc2822 closed 11 years ago

rfc2822 commented 14 years ago

I don't know whether this is a standards violation of Evolution or by mail, but however mail should be more liberal in what it receives. When I parse a message with this headers:

...
In-Reply-To: <4CABBD17.2080202@oblong.com.au>
References: <4caa201b1db75_cc3d4009349b0749ef@wurd.dev001.net.mail>
        , <AANLkTik-q2hEeQCv6YpCNsRyiUfBWr=S4S=CAU4NE21z@mail.gmail.com>
        , <4cab6ccc1aa5_fbc84009349b082819@wurd.dev001.net.mail>
        , <4cab71a0a4ece_fbc84009349b0829a8@wurd.dev001.net.mail> ,
        <20101005114629.9409ce3c5aca6dbf94a38c9dc27f0778.81c61e5ba0.wbe@email10.secureserver.net>
        , <AANLkTi=HD1=ROtOTfMq4rFx36vRxxTLtT=MW4LDYKWB_@mail.gmail.com>
        , <20101005173426.c6de8c9b.john@jcoppens.com>,
        <m3bp785oir.fsf@jhcloos.com>
        <4cabab12307c3_103ac4009349b049337@wurd.dev001.net.mail>
        <4CABBD17.2080202@oblong.com.au>
Date: Thu, 07 Oct 2010 22:44:32 +0200
Message-ID: <1286484272.17811.4.camel@bender>
Mime-Version: 1.0
X-Mailer: Evolution 2.30.3
...

the email[:references] are not set correctly but return only one message id that contains fragments of other message ids.

email[:references].inspect then returns


#<Mail::Field:0x807d33178 @field=#<Mail::UnstructuredField:0x807cf3348 @tree=nil, @length=nil, @element=nil, @charset="UTF8", @errors=[[#<ActiveSupport::Multibyte::Chars:0x807d31800 @wrapped_string="References">, #<ActiveSupport::Multibyte::Chars:0x807d313c8 @wrapped_string="<4caa201b1db75_cc3d4009349b0749ef@wurd.dev001.net.mail> , <AANLkTik-q2hEeQCv6YpCNsRyiUfBWr=S4S=CAU4NE21z@mail.gmail.com> , <4cab6ccc1aa5_fbc84009349b082819@wurd.dev001.net.mail> , <4cab71a0a4ece_fbc84009349b0829a8@wurd.dev001.net.mail> , <20101005114629.9409ce3c5aca6dbf94a38c9dc27f0778.81c61e5ba0.wbe@email10.secureserver.net> , <AANLkTi=HD1=ROtOTfMq4rFx36vRxxTLtT=MW4LDYKWB_@mail.gmail.com> , <20101005173426.c6de8c9b.john@jcoppens.com>, <m3bp785oir.fsf@jhcloos.com> <4cabab12307c3_103ac4009349b049337@wurd.dev001.net.mail> <4CABBD17.2080202@oblong.com.au>">, #<Mail::Field::ParseError: MessageIdsElement can not parse |<4caa201b1db75_cc3d4009349b0749ef@wurd.dev001.net.mail> , <AANLkTik-q2hEeQCv6YpCNsRyiUfBWr=S4S=CAU4NE21z@mail.gmail.com> , <4cab6ccc1aa5_fbc84009349b082819@wurd.dev001.net.mail> , <4cab71a0a4ece_fbc84009349b0829a8@wurd.dev001.net.mail> , <20101005114629.9409ce3c5aca6dbf94a38c9dc27f0778.81c61e5ba0.wbe@email10.secureserver.net> , <AANLkTi=HD1=ROtOTfMq4rFx36vRxxTLtT=MW4LDYKWB_@mail.gmail.com> , <20101005173426.c6de8c9b.john@jcoppens.com>, <m3bp785oir.fsf@jhcloos.com> <4cabab12307c3_103ac4009349b049337@wurd.dev001.net.mail> <4CABBD17.2080202@oblong.com.au>|
Reason was: Expected one of 
, (, < at line 1, column 57 (byte 57) after 
>]], @unfolded_line=[], @name=#<ActiveSupport::Multibyte::Chars:0x807d31800 @wrapped_string="References">, @folded_line=["<AANLkTik-q2hEeQCv6YpCNsRyiUfBWr=S4S=CAU4NE21z@mail.gmail.com> ,", "<4cab6ccc1aa5_fbc84009349b082819@wurd.dev001.net.mail> ,", "<4cab71a0a4ece_fbc84009349b0829a8@wurd.dev001.net.mail> ,", "<20101005114629.9409ce3c5aca6dbf94a38c9dc27f0778.81c61e5ba0.wbe@email10.secureserver.net>", ", <AANLkTi=HD1=ROtOTfMq4rFx36vRxxTLtT=MW4LDYKWB_@mail.gmail.com> ,", "<20101005173426.c6de8c9b.john@jcoppens.com>, <m3bp785oir.fsf@jhcloos.com>", "<4cabab12307c3_103ac4009349b049337@wurd.dev001.net.mail>", "<4CABBD17.2080202@oblong.com.au>"], @value=#<ActiveSupport::Multibyte::Chars:0x807d313c8 @wrapped_string="<4caa201b1db75_cc3d4009349b0749ef@wurd.dev001.net.mail> , <AANLkTik-q2hEeQCv6YpCNsRyiUfBWr=S4S=CAU4NE21z@mail.gmail.com> , <4cab6ccc1aa5_fbc84009349b082819@wurd.dev001.net.mail> , <4cab71a0a4ece_fbc84009349b0829a8@wurd.dev001.net.mail> , <20101005114629.9409ce3c5aca6dbf94a38c9dc27f0778.81c61e5ba0.wbe@email10.secureserver.net> , <AANLkTi=HD1=ROtOTfMq4rFx36vRxxTLtT=MW4LDYKWB_@mail.gmail.com> , <20101005173426.c6de8c9b.john@jcoppens.com>, <m3bp785oir.fsf@jhcloos.com> <4cabab12307c3_103ac4009349b049337@wurd.dev001.net.mail> <4CABBD17.2080202@oblong.com.au>">>>

rfc2822 commented 12 years ago

Are there any news on this?

jeremy commented 11 years ago

This works now:

> m = Mail.new("References: #{references}\r\n\r\n")
=> #<Mail::Message:70261241878320, Multipart: false, Headers: <References: <4caa201b1db75_cc3d4009349b0749ef@wurd.dev001.net.mail> , <AANLkTik-q2hEeQCv6YpCNsRyiUfBWr=S4S=CAU4NE21z@mail.gmail.com> , <4cab6ccc1aa5_fbc84009349b082819@wurd.dev001.net.mail> , <4cab71a0a4ece_fbc84009349b0829a8@wurd.dev001.net.mail> , <20101005114629.9409ce3c5aca6dbf94a38c9dc27f0778.81c61e5ba0.wbe@email10.secureserver.net> , <AANLkTi=HD1=ROtOTfMq4rFx36vRxxTLtT=MW4LDYKWB_@mail.gmail.com> , <20101005173426.c6de8c9b.john@jcoppens.com>, <m3bp785oir.fsf@jhcloos.com> <4cabab12307c3_103ac4009349b049337@wurd.dev001.net.mail> <4CABBD17.2080202@oblong.com.au>>>

> m.references
=> "<4caa201b1db75_cc3d4009349b0749ef@wurd.dev001.net.mail> , <AANLkTik-q2hEeQCv6YpCNsRyiUfBWr=S4S=CAU4NE21z@mail.gmail.com> , <4cab6ccc1aa5_fbc84009349b082819@wurd.dev001.net.mail> , <4cab71a0a4ece_fbc84009349b0829a8@wurd.dev001.net.mail> , <20101005114629.9409ce3c5aca6dbf94a38c9dc27f0778.81c61e5ba0.wbe@email10.secureserver.net> , <AANLkTi=HD1=ROtOTfMq4rFx36vRxxTLtT=MW4LDYKWB_@mail.gmail.com> , <20101005173426.c6de8c9b.john@jcoppens.com>, <m3bp785oir.fsf@jhcloos.com> <4cabab12307c3_103ac4009349b049337@wurd.dev001.net.mail> <4CABBD17.2080202@oblong.com.au>"