[ https://issues.apache.org/jira/browse/MIME4J-38?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stefano Bagnara updated MIME4J-38: ---------------------------------- Affects Version/s: 0.3 Please make sure you write the version you are reporting the bug against. > writeTo Implementation in Multipart is broken. > ----------------------------------------------- > > Key: MIME4J-38 > URL: https://issues.apache.org/jira/browse/MIME4J-38 > Project: Mime4j > Issue Type: Bug > Affects Versions: 0.3 > Environment: Java 1.6 > Reporter: Aljoscha Rittner > Assignee: Robert Burrell Donkin > Fix For: 0.4 > > > This is a typical mixed-buffered/nonbuffered-Stream Bug ;-) > This is the implementation in writeTo: > --------------------------------------------------------------------------- > BufferedWriter writer = new BufferedWriter(new > OutputStreamWriter(out, CharsetUtil.getCharset(getCharset())),8192); > > writer.write(getPreamble() + "\r\n"); > for (int i = 0; i < bodyParts.size(); i++) { > writer.write(boundary + "\r\n"); > ((BodyPart) bodyParts.get(i)).writeTo(out); > } > writer.write(getEpilogue() + "\r\n"); > writer.write(boundary + "--" + "\r\n"); > --------------------------------------------------------------------------- > But all writer.write (...) Strings get lost in the buffer. The non buffered > writes throw the OutputStreamWriter are ok. This writeTo method creates > Multipart-Messages without any boundary. > A mix with buffered and non buffered streams is very danger. This is the > right (but ugly) implementation: > --------------------------------------------------------------------------- > writer.write(getPreamble() + "\r\n"); > writer.flush(); > for (int i = 0; i < bodyParts.size(); i++) { > writer.write(boundary + "\r\n"); > writer.flush(); > ((BodyPart) bodyParts.get(i)).writeTo(out); > } > writer.write(getEpilogue() + "\r\n"); > writer.write(boundary + "--" + "\r\n"); > writer.flush(); > --------------------------------------------------------------------------- > best regards, > josh. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]