JavaMail - не удалось получить текстовое сообщение - PullRequest
0 голосов
/ 28 декабря 2010

Я пишу pop3-клиент, использующий JavaMail для получения почты.Но я не смог получить текст почтовых сообщений в текстовом / обычном формате.

mail.getContent () не получает тело сообщения.Но mail.writeTo (System.out) печатает полные почтовые данные, включая информацию о конверте.

Можно ли извлечь только текст почтового сообщения?

Спасибо!

Обновление: из окна отладки я вижу, что mail.getContent () возвращает только "\ r \ n".

Решение: Похоже, проблема в письмах, отправленных непосредственно из сеанса telnet,Тело почты правильно выбирается для писем, отправленных из клиентской программы smtp.

1 Ответ

0 голосов
/ 30 декабря 2010

JavaMail ожидает, что пустая строка (CRLF CRLF) завершит блок заголовка. Когда вы вводите сообщение через telnet, вы отправляете системный символ новой строки (который, вероятно, просто LF) в конце каждой строки, которую вы вводите. Поэтому я предполагаю, что JavaMail не видит ожидаемый разделитель заголовка / тела, и поэтому он просто прикрепляет ваши строки "body" к концу блока заголовка как искаженные заголовки.

...