--- a/libidav/jmap_methods.c Fri Jul 10 17:56:21 2026 +0200 +++ b/libidav/jmap_methods.c Sat Jul 11 20:57:23 2026 +0200 @@ -48,6 +48,36 @@ return buf; } +CxBuffer* jm_email_get_request(cxstring mailbox) { + CxBuffer *buf = cxBufferCreate(NULL, NULL, 512, CX_BUFFER_AUTO_EXTEND | CX_BUFFER_FREE_CONTENTS); + + cxBufferPutString(buf, + "{\"using\":[" + "\"urn:ietf:params:jmap:core\"," + "\"urn:ietf:params:jmap:mail\"" + "],\"methodCalls\":[" + "[\"Email/query\"," + "{ \"filter\": { \"inMailbox\": \""); + cxBufferPutString(buf, mailbox); + cxBufferPutString(buf, + "\" } }," + "\"q1\" ]," + "[\"Email/get\", {" + "\"#ids\": { " + "\"resultOf\": \"q1\"," + "\"name\": \"Email/query\"," + "\"path\": \"/ids\"" + "}," + "\"properties\": [" + "\"subject\"," + "\"from\"," + "\"receivedAt\"" + "] }, \"g1\" ] ] }"); + + + return buf; +} + CxJsonValue* jm_do_api_request(JMAPSession *sn, CxBuffer *request) { curl_easy_setopt(sn->handle, CURLOPT_URL, sn->apiUrl);