2013-06-12 6 views
6

Я пытаюсь получить тело gmail с помощью IMAP и рубиновой почты. Он отлично работает, когда я извлекаю поле RFC822, как описано в another stack overflow answer.. Фидл очень хорошо описал подход к answer подобный вопрос.Получение тела электронной почты без извлечения вложений с использованием рубиновой почты gem

Этот подход замечательный, за исключением того, что он требует получения RFC822, который также извлекает все вложения. Есть ли другое поле или какой-либо другой подход, который я могу предпринять, чтобы не получать вложения, но все равно использовать рубиновый почтовый камень для получения красиво декодированного тела?

+0

Выполняет ли это то, что вам нужно на PHP? http://stackoverflow.com/questions/15024290/how-to-extract-inline-imagesnot-attachment-from-an-email-using-imap-in-php – crizCraig

+0

@crizCraig. Кажется, это приносит тело (не уверен о методе fetch_body php), который не работает для многопользовательских писем. – Mahesh

+0

Как насчет этого (python) http://stackoverflow.com/questions/15597429/python-imaplib-download-gmail-text-without-downloading-the-full-attachment – jimt

ответ

0

Вы должны проанализировать и понять фактическую структуру возвращаемого ответа BODYSTRUCTURE, см. RFC 3501, p. 56. Также не забудьте применить соответствующие Content-Transfer-Encoding (например, base64 или quoted-printable) и использовать правильное кодирование символов (параметр charset заголовка Content-Type каждой части тела). Вся эта информация включена в ответ BODYSTRUCTURE; обратитесь к документации вашей библиотеки, чтобы узнать, как получить к ней доступ.