Тело письма не содержит возвратов (\n) при использовании библиотеки ruby's Net::IMAP

Я использую библиотеку Ruby Net::IMAP для извлечения почты и использую функцию Mail gems read_from_string для получения тела, но происходит то, что почта, содержащая html-часть, отображается правильно, а почта, содержащая только текстовую / обычную часть, отображается непрерывно без возврата характер, даже если оригинальная почта имеет их... пожалуйста, предложите что-то... спасибо заранее!

МОЙ КОД:

Получение почты (у меня уже есть UID)

    email = @imap.uid_fetch(uid, ["BODY[HEADER.FIELDS (FROM TO DATE SUBJECT)]", "RFC822"])

Извлечение заголовков и тела

header_attr = email[0].attr["BODY[HEADER.FIELDS (FROM TO DATE SUBJECT)]"]
header      = Mail.read_from_string(header_attr)
message_attr = email[0].attr["RFC822"]
message      = Mail.read_from_string(message_attr)

Проверка на составную часть

if message.multipart?
  @body = message.text_part.decoded.force_encoding("UTF8").encode("UTF-8")
else
  @body = message.body.decoded.force_encoding(message.charset).encode("UTF-8")
end

Я использую @body.to_s на мой взгляд, и это не дает правильный вывод:(

тип содержимого письма

Тип контента: текстовый / простой; charset="iso-8859-1" Content-Transfer-Encoding: 8bit

1 ответ

Решение

Как указал @BoraMa в приведенном выше комментарии, мне просто нужно было использовать simple_format(@body), чтобы отобразить тело

Другие вопросы по тегам