Не могу занести результат curl запроса в переменную\файл

Отправляю запросы через pycurl, но в переменную записывается только результат запроса FETCH. В терминал выводится письмо полностью, я хочу его занести в переменную\файл, но там либо пусто, либо что то похожее на "* 101 FETCH (BODY[TEXT] {4075}"

from io import BytesIO
import pycurl
import certifi

with open('mail.txt', 'wb') as f:
    c = pycurl.Curl()
    body_buffer = BytesIO()
    c.setopt(pycurl.VERBOSE, 1)
    c.setopt(pycurl.CAINFO, certifi.where())
    c.setopt(pycurl.URL, 'imaps://imap-mail.outlook.com/INBOX')
    c.setopt(pycurl.USERPWD, '[email protected]:PASSMAIL')

    # Select INBOX folder
    c.setopt(pycurl.CUSTOMREQUEST, 'SELECT INBOX')
    c.perform()

    c.setopt(pycurl.CUSTOMREQUEST, f'FETCH 101 BODY[TEXT]')
    c.setopt(pycurl.WRITEDATA, body_buffer)
    #c.setopt(pycurl.WRITEDATA, f)
    c.perform()

    body = body_buffer.getvalue().decode('utf-8')
    print(f'BODY THERE: {body}')

    c.close()

print выводит "BODY THERE: * 101 FETCH (BODY[TEXT] {4075}". Но в консоль летит письмо полностью. Как его можно сохранять в переменную, в чем ошибка? Пробовал использовать c.setopt(pycurl.WRITEFUNCTION, buffer.write), но результат тот же. Так же вывод в консоль выводится, только если добавить строку c.setopt(pycurl.VERBOSE, 1).

P.S. imaplib итд не рассматриваю по некоторым причинам)


Ответы (0 шт):