[ 
https://issues.apache.org/jira/browse/TIKA-879?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sebastian Nagel updated TIKA-879:
---------------------------------
    Attachment: TIKA-879-thunderbird.eml

I've run into the same problem with an .eml file written by Thunderbird (see 
attachment).

RFC822 states (http://tools.ietf.org/html/rfc822#section-4.1) that header 
fields can appear in any order:
{quote}
Note: Due to an artifact of the notational conventions, the syntax indicates 
that, when present, some fields, must be in a particular order.  Header fields 
are NOT required to occur in any particular order, except that the message body 
must occur AFTER the headers.
{quote}
If one of the "optional" fields (according to RFC822), esp. "extension-field" 
("X-...") or any "user-defined-field", is the first field in the header the 
mime magic does not work. 

Adding {{<sub-class-of type="text/plain"/>}} would solve the problem only 
partially: if any text file is named *.eml, it is always recognized as 
message/rfc822 independent from its content. Is the file name/extension a 
strong indicator?

Or would it be possible to relax the MIME magic and allow additional header 
fields at the beginning?
* check for the {{field: value}} structure first
* then check for (some) required fields ("Date:", "From:") but also if not 
immediately at beginning


> Detection problem: message/rfc822 file is detected as text/plain.
> -----------------------------------------------------------------
>
>                 Key: TIKA-879
>                 URL: https://issues.apache.org/jira/browse/TIKA-879
>             Project: Tika
>          Issue Type: Bug
>          Components: metadata, mime
>    Affects Versions: 1.0, 1.1, 1.2
>         Environment: linux 3.2.9
> oracle jdk7, openjdk7, sun jdk6
>            Reporter: Konstantin Gribov
>         Attachments: TIKA-879-thunderbird.eml
>
>
> When using {{DefaultDetector}} mime type for {{.eml}} files is different (you 
> can test it on {{testRFC822}} and {{testRFC822_base64}} in 
> {{tika-parsers/src/test/resources/test-documents/}}).
> Main reason for such behavior is that only magic detector is really works for 
> such files. Even if you set {{CONTENT_TYPE}} in metadata or some {{.eml}} 
> file name in {{RESOURCE_NAME_KEY}}.
> As I found {{MediaTypeRegistry.isSpecializationOf("message/rfc822", 
> "text/plain")}} returns {{false}}, so detection by {{MimeTypes.detect(...)}} 
> works only by magic.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to