You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Petr Osipov (JIRA)" <ji...@apache.org> on 2015/06/24 14:51:04 UTC
[jira] [Created] (EMAIL-155) Not Able To Parse Attachments
Petr Osipov created EMAIL-155:
---------------------------------
Summary: Not Able To Parse Attachments
Key: EMAIL-155
URL: https://issues.apache.org/jira/browse/EMAIL-155
Project: Commons Email
Issue Type: Bug
Environment: org.apache.commons:commons-email:1.4
Reporter: Petr Osipov
Priority: Critical
h4. Scenario
# Sent an email from Microsoft Web UI,
# When code tries to parse
{code}
public DataSource getAttachment(String username, MimeMessage mimeMessage) throws Exception {
MimeMessageParser messageParser = new MimeMessageParser(mimeMessage);
messageParser.parse();
// further code
}
{code}
An exception is thrown
{noformat}
java.lang.ClassCastException: javax.mail.util.SharedByteArrayInputStream cannot be cast to javax.mail.Multipart
at org.apache.commons.mail.util.MimeMessageParser.parse(MimeMessageParser.java:195)
at org.apache.commons.mail.util.MimeMessageParser.parse(MimeMessageParser.java:96)
{noformat}
Probably int the wild casting to javax.mail.Multipart in MimeMessageParser is a too brave step
{code}
if (isMimeType(part, "multipart/*"))
{
this.isMultiPart = true;
final Multipart mp = (Multipart) part.getContent();
final int count = mp.getCount();
// iterate over all MimeBodyPart
for (int i = 0; i < count; i++)
{
parse(mp, (MimeBodyPart) mp.getBodyPart(i));
}
}
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)