[
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)