Ok I have never done this before, however what I do know is: getContextAsText is only good with MIMEEntity when that Mime Entity header content-type and content subtype (use getContentType() and getContentSubType() ) is either "text/plain " or "text/html". Of course if it is text/html, getContextAsText will return all the content with the html tags... Note that MimeEntity could be a child MimeEntity to the MimeEntity you first get from the doc.getMimeEntity() If the top MimeEntity Content Type is not "multipart" then you could just use getContextAsText on the top MimeEntity to get all the content, then write that text to your other Body Item. Do let us know if this somehow worked.