2013-06-12 22 views
6

Próbuję pobrać treść wiadomości z Gmaila za pomocą IMAP i ruby. Działa doskonale podczas pobierania pola RFC822 zgodnie z opisem w another stack overflow answer.. Fiedl bardzo dobrze opisał to podejście do podobnego pytania.Uzyskiwanie treści wiadomości e-mail bez pobierania załączników przy użyciu klejnotu ruby ​​

To podejście jest wspaniałe, ale wymaga pobrania RFC822, które również pobiera wszystkie załączniki. Czy jest jakaś inna dziedzina lub inne podejście, które mogę podjąć, aby nie pobierać załączników, ale nadal używać klejnotów z ruby, aby uzyskać ładnie zdekodowane ciało?

+0

Czy to robi to, czego potrzebujesz w PHP? http://stackoverflow.com/questions/15024290/how-to-extract-inline-imagesnot-attachment-from-an-email-using-imap-in-php – crizCraig

+0

@crizCraig, Wydaje się, że sprowadza ciało (nie jestem pewien na temat metody php's fetch_body), która nie działa w przypadku wiadomości wieloczęściowych. – Mahesh

+0

Co z tym (python) http://stackoverflow.com/questions/15597429/python-imaplib-download-gmail-text-without-downloading-the-full-attachment – jimt

Odpowiedz

0

Musisz przeanalizować i zrozumieć faktyczną strukturę zwróconej odpowiedzi BODYSTRUCTURE, patrz RFC 3501, p. 56. Pamiętaj też, aby zastosować odpowiednie Content-Transfer-Encoding (np. base64 lub quoted-printable) i zastosować odpowiednią konwersję zestawu znaków (parametr charset nagłówka Content-Type każdej części ciała). Wszystkie te informacje są zawarte w odpowiedzi BODYSTRUCTURE; przejrzyj dokumentację biblioteki, aby dowiedzieć się, jak uzyskać do niej dostęp.