#include "__imapsearch.h" #include "Exception.h" #include "__imap.h" namespace jet { __imapsearch::__imapsearch(coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) : Tag(in, parentOut, global, parent, local) { coreutils::MString sessionId = resolveKeyword("sessionid"); if (!global.imapSessionExists(sessionId)) throw coreutils::Exception("imap sessionid does not exist.", __FILE__, __LINE__, 502); std::string folder = resolveKeyword("folder").str(); if (folder.empty()) folder = "INBOX"; std::string query = resolveKeyword("query").str(); out = global.getImapSession(sessionId)->searchMessages(folder, query); } }