public String getContent(Message message) { StringBuilder stringBuilder = new StringBuilder(); try { getPlainTextFromMessageParts(message.getPayload().getParts(), stringBuilder); byte[] bodyBytes = Base64.decodeBase64(stringBuilder.toString()); String text = new String(bodyBytes, "UTF-8"); return text; } catch (UnsupportedEncodingException e) { logger.error("UnsupportedEncoding: " + e.toString()); return message.getSnippet(); } } private void getPlainTextFromMessageParts(List<MessagePart> messageParts, StringBuilder stringBuilder) { for (MessagePart messagePart : messageParts) { if (messagePart.getMimeType().equals("text/plain")) { stringBuilder.append(messagePart.getBody().getData()); } if (messagePart.getParts() != null) { getPlainTextFromMessageParts(messagePart.getParts(), stringBuilder); } } }
private String getContent(Message message) { StringBuilder stringBuilder = new StringBuilder(); try { getPlainTextFromMessageParts(message.getPayload().getParts(), stringBuilder); byte[] bodyBytes = Base64.decodeBase64(stringBuilder.toString()); String text = new String(bodyBytes, "UTF-8"); return text; } catch (UnsupportedEncodingException e) { logger.error("UnsupportedEncoding: " + e.toString()); return message.getSnippet(); } } private void getPlainTextFromMessageParts(List<MessagePart> messageParts, StringBuilder stringBuilder) { for (MessagePart messagePart : messageParts) { if (messagePart.getMimeType().equals("text/plain")) { stringBuilder.append(messagePart.getBody().getData()); } if (messagePart.getParts() != null) { getPlainTextFromMessageParts(messagePart.getParts(), stringBuilder); } } }