Я пытаюсь прочитать содержимое сообщения электронной почты из файла "* .msg". Но, получив какой-то недопустимый символ, я понятия не имею, что это, пожалуйста, помогите мне прочитать содержимое тела письма.
Верблюжий путь
@Override
public void configure() throws Exception {
from(SOURCE_PATH).process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
final EmailResponseModel erm = new EmailResponseModel();
erm.setEmail(exchange.getIn().getBody(String.class));
exchange.getIn().setBody(erm, DBObject.class);
}
}).to(DESTINATION_PATH);
}
Неверная строка в ответ на эту строку кода exchange.getIn().getBody(String.class)
��\u0011ࡱ\u001a�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000
То, что вы читаете из SOURCE_PATH, может быть не в чистом текстовом формате. Это может быть двоичный контент, и тогда вам нужно прочитать его как byte []. Или, если он в каком-то текстовом формате, вам нужно знать кодировку, например UTF-8, iso-8859-1 или что это может быть.
Это содержимое файла электронной почты (* .msg), как мне его прочитать?




вы, вероятно, не можете использовать тело напрямую. Рекомендую воспользоваться отладчиком, чтобы посмотреть, как устроен корпус, правильно его отлить