Sejamos práticos:
Coloque a função no código:
private MimeMessage readSigned(Message msgOriginal) throws MessagingException, IOException {
MimeMessage msg = (MimeMessage) msgOriginal;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
msg.writeTo(bos);
bos.close();
SharedByteArrayInputStream bis = new SharedByteArrayInputStream(bos.toByteArray());
MimeMessage cmsg = new MimeMessage(session, bis);
return cmsg;
}
Ao obter a mensagem, substitua pelo trecho de código:
try {
message.isMimeType("text/*");
} catch (MessagingException e) {
message = readSigned(message);
}
Observação: para remover, mover ou qualquer outro tipo de alteração no servidor, deve-se utilizar a instância original da mensagem e NÃO a mensagem retornada pelo readSigned, caso contrário o comando não irá funcionar.