[ 
https://issues.apache.org/jira/browse/MIME4J-282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16628436#comment-16628436
 ] 

Raffaele Gambelli commented on MIME4J-282:
------------------------------------------

In my scenario, I'm reading from users mailboxes, so I'm parsing those messages 
with mime4j, then I need to "export eml", the raw message, the same feature 
that is present in any webmail or mail client.
In this sense, mime4j produces a different eml from the original one, this 
difference then breaks digital signature for all the certified messages, so 
it's big legal problem.

Saying differently, what should a mime4j user do to obtain the raw message 
(same bytes) of a previously loaded message, from a 
org.apache.james.mime4j.dom.Message? 
It is not more a problem for me because I've definetely switched to javamail to 
re-obtain the raw message.

You are surely free to interpret qp encoding, saying differently from the 
common way that email providers do, but let me say that I find it quite strange 
and risky in situations like this one I've described. 

{quote}There is no unique way to do the QP encoding (you can use the line 
length you prefer, you can decide which char to encode or not.{quote}

Encoded lines must not be longer than 76 characters so you can't use what you 
prefer

> DefaultMessageWriter.writeMessage doesn't produces the same original eml
> ------------------------------------------------------------------------
>
>                 Key: MIME4J-282
>                 URL: https://issues.apache.org/jira/browse/MIME4J-282
>             Project: James Mime4j
>          Issue Type: Bug
>          Components: dom
>    Affects Versions: 0.8.1
>            Reporter: Raffaele Gambelli
>            Priority: Major
>         Attachments: mirmps_1.eml, mirmps_1_mime4j.eml
>
>
> I'm using mime4j to parse messages starting from a javax.mail.Message.
> Then, my application needs to store in a String the original message too, 
> that is the "eml", I did it in this way:
> {code:java}
> ByteArrayOutputStream baos = new ByteArrayOutputStream();
>  MessageWriter writer = new DefaultMessageWriter();
>  writer.writeMessage(message, baos);
>  this.originalMessage = baos.toString();{code}
> Unfortunately I've seen that above code, does QP encoding so the final output 
> is different from the original message.
> But in this way, the final eml results in a different eml from the original 
> one, so for example the digital signature is not more valid.
> For example if you open the generated eml with a client like Outlook, it 
> warns user that the digital signature is not valid.
> Now, I would like to know if exists a way to, starting from an eml generated 
> with the above code, generate the correct version, so without QP encoding.
> Attached to this issue, I put an original eml and that one generated with 
> above code, thanks
> Maybe this issue is related or caused to this other #MIME4J-186 ?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to