Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- constexpr auto SEARCH_EMPTY = "* SEARCH\r\n";
- constexpr auto USERNAME = "XXXXXXXXXXXXXXXXXXXXXXX";
- constexpr auto PASSWORD = "XXXXXXXXXXXXXXXXXXXXXX ";
- #include <curl/curl.h>
- #include <windows.h>
- #include <algorithm>
- #include <iostream>
- #include <string.h>
- #include <stdio.h>
- #include <sstream>
- #include <queue>
- #include <string>
- using namespace std;
- string buffer;
- string curslave("0");
- string curdir;
- bool optcekaj = 0, cekaj = 1;
- struct MemoryStruct {
- char *memory;
- size_t size;
- };
- static size_t WriteMemoryCallback(void *contents, size_t size, size_t nmemb, void *userp) {
- size_t realsize = size * nmemb;
- struct MemoryStruct *mem = (struct MemoryStruct *)userp;
- char *ptr = (char *)realloc(mem->memory, mem->size + realsize + 1);
- if (ptr == NULL)
- return 0;
- mem->memory = ptr;
- memcpy(&(mem->memory[mem->size]), contents, realsize);
- mem->size += realsize;
- mem->memory[mem->size] = 0;
- return realsize;
- }
- int main(void) {
- CURL *curl;
- CURLcode res = CURLE_OK;
- struct curl_slist *recipients = NULL;
- struct MemoryStruct retr;
- FILE *f;
- fopen_s(&f, "test.txt", "w");
- do {
- do {
- curl = curl_easy_init();
- } while (!curl);
- retr.memory = (char *)malloc(1);
- retr.size = 0;
- curl_easy_setopt(curl, CURLOPT_USERNAME, USERNAME);
- curl_easy_setopt(curl, CURLOPT_PASSWORD, PASSWORD);
- curl_easy_setopt(curl, CURLOPT_URL, "imaps://imap.gmail.com:993/INBOX");
- curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "SEARCH UNSEEN");
- curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);
- curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)&retr);
- res = curl_easy_perform(curl);
- if (retr.memory != NULL && retr.size > 0)
- buffer = retr.memory;
- free(retr.memory);
- curl_easy_cleanup(curl);
- } while (res != CURLE_OK);
- buffer.erase(remove_if(buffer.begin(), buffer.end(), [](char c) -> bool {return !isdigit(c) && c != ' '; }), buffer.end());
- stringstream ss(buffer);
- queue<int> lista;
- int tmp;
- while (ss >> tmp)
- lista.push(tmp);
- while (!lista.empty()) {
- FILE *file;
- fopen_s(&file, "test.txt", "w,ccs=UTF-8");
- do {
- do {
- curl = curl_easy_init();
- } while (!curl);
- curl_easy_setopt(curl, CURLOPT_USERNAME, USERNAME);
- curl_easy_setopt(curl, CURLOPT_PASSWORD, PASSWORD);
- curl_easy_setopt(curl, CURLOPT_URL, ("imaps://imap.gmail.com:993/INBOX/;MAILINDEX=" + to_string(lista.front())).c_str());
- curl_easy_setopt(curl, CURLOPT_WRITEDATA, file);
- res = curl_easy_perform(curl);
- curl_easy_cleanup(curl);
- } while (res != CURLE_OK);
- lista.pop();
- fclose(file);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement