E-mail MIME message parser
if(addresses.length == 1)
    from = addresses[0].toString();
else
{
    for(int num = 0; num &lt; addresses.length - 1; num++)
        from += addresses[num].toString() + ", ";
    from += addresses[addresses.length].toString();
}  



Concatenations of strings in a loop should be done using a StringBuilder like so  

StringBuilder builder = new StringBuilder(1024);
for(int i = 0; i &lt; addresses.length ; i++)
{
    builder.append(addresses[i].toString())
           .append(", ");
}
int builderLength = builder.length();
if(builderLength &gt; 2)
{
    // removing the last appended ", "
    builder.setLength(builderLength - 2);
}
String from = builder.toString();





if(contentType.contains("TEXT/PLAIN"))
{  
    Object content = message.getContent();
    if(content != null)
        body += content.toString();
}
else if(contentType.contains("TEXT/HTML"))
{
    Object content = message.getContent();
    if(content != null)
        body += Jsoup.parse((String)content).text();
}  



here it would be sufficient to just assign the content.toString() or Jsoup.parse((String)content).text() to the body variable. There is no need to use +=.  




else if(contentType.contains("multipart"))
{  
    Multipart mp = (Multipart)message.getContent();
    int numParts = mp.getCount();
    for(int count = 0; count &lt; numParts; count++)
    {
        MimeBodyPart part = (MimeBodyPart)mp.getBodyPart(count);
        String content = part.getContent().toString();
        if(MimeBodyPart.ATTACHMENT.equalsIgnoreCase(part.getDisposition()))
            attachments.add(part);
        else if(part.getContentType().contains("TEXT/HTML"))
            body += Jsoup.parse(content).text();
        else
            body += content;
    }
}  



As mentioned above if you are using a loop for concatenations of strings this should be done using a StringBuilder.  

You will only need the String content if the execution steps into the else if or else part and because one should declare variables as near to its usage, you could use continue; after the attachment is added like so  

else if(contentType.contains("multipart"))
{  
    StringBuilder bodyBuilder = new StringBuilder(1024);
    Multipart mp = (Multipart)message.getContent();
    int numParts = mp.getCount();
    for(int count = 0; count &lt; numParts; count++)
    {
        MimeBodyPart part = (MimeBodyPart)mp.getBodyPart(count);
        if(MimeBodyPart.ATTACHMENT.equalsIgnoreCase(part.getDisposition()))
        {
            attachments.add(part);
            continue;
        }

       String content = part.getContent().toString();
        if(part.getContentType().contains("TEXT/HTML"))
        {
            bodyBuilder.append(Jsoup.parse(content).text());
        } else {
            bodyBuilder.append(content);
        }
    }
    body = bodyBuilder.toString();
}