Получение тела письма без извлечения вложений, используя гем ruby mail
Я пытаюсь получить тело gmail, используя IMAP и рубиновую почту. Он отлично работает, пока я получаю поле RFC822, как описано в другом ответе о переполнении стека., Фидл очень хорошо описал этот подход, чтобы ответить на аналогичный вопрос.
Этот подход хорош, за исключением того, что требует выборки RFC822, который также выбирает все вложения. Есть ли какое-либо другое поле или какой-то другой подход, который я могу использовать, чтобы не извлекать вложения, но все еще использовать гем ruby mail, чтобы получить красиво декодированное тело?
1 ответ
Вы должны разобрать и понять фактическую структуру возвращаемых BODYSTRUCTURE
ответ см. RFC 3501, p. 56 Также не забудьте применить соответствующие Content-Transfer-Encoding
(лайк base64
или же quoted-printable
) и использовать правильное преобразование кодировки (charset
параметр Content-Type
заголовок каждой части тела). Вся эта информация включена в BODYSTRUCTURE
ответ; обратитесь к документации вашей библиотеки, чтобы узнать, как получить к ней доступ.