NS_IMETHODIMP nsRssIncomingServer::PerformBiff(nsIMsgWindow *aMsgWindow) { // Get the account root (server) folder and pass it on. nsCOMPtr<nsIMsgFolder> rootRSSFolder; GetRootMsgFolder(getter_AddRefs(rootRSSFolder)); nsCOMPtr<nsIUrlListener> urlListener = do_QueryInterface(rootRSSFolder); GetNewMail(aMsgWindow, urlListener, rootRSSFolder, nsnull); return NS_OK; }
int main( int argc, char *argv[] ) { cout << "*** ImapLibrary Test ***" << endl; cout << "Connect to imap.gmail.com at port 993..." << endl; imap_server = "imap.gmail.com"; // Nombre servidor IMAP port_n = 993; // 143 || 993 con encriptación SSL cout << "Write your username: "******"Write your pass: "******"********** IMAPLogin **********" << endl; // DEBUG i = IMAPLogin(connection, imap_server, port_n, user, pass, usessl); if (i == BAD_LOGIN) { printf("Bad login: %d\n", i); return -1; } if (i == SERVER_NOT_READY_FOR_CONNECTION) { printf("Server not ready for connection: %d\n", i); return -1; } /** * Get folder list from server * - we need to get a list of folder names */ cout << endl << "********** getIMAPFolders **********" << endl; // DEBUG list<string> folder_names; folder_root = ""; // Nombre del buzón de correo que queremos que liste int return_code; return_code = getIMAPFolders(connection, folder_names, folder_root ); cout << endl << "-------------------------------------" << endl; // DEBUG cout << "-----------List of Folders-----------" << endl; // DEBUG cout << "-------------------------------------" << endl; // DEBUG cout << folder_root << "/"<< endl; // DEBUG if( return_code == SUCCESS ) { // Successful create_folder_list(folder_names); } // DEBUG - Show folder_list list<Folder>::iterator itera = folder_list.begin(); while(itera != folder_list.end()) { //cout << "folder: " << (*itera).get_Folder_Name() << endl; //cout << " -> full_name= " << (*itera).get_Full_Folder_Name() << endl; //cout << " -> seq_start= " << (*itera).get_Sequence_Start() << endl; //cout << " -> seq_stop = " << (*itera).get_Sequence_Stop() << endl; //cout << " -> num_mess = " << (*itera).get_Num_Messages() << endl; if (strcmp("INBOX", (char*) (*itera).get_Folder_Name().c_str()) == 0) break; itera++; } /** * Select a folder * - In order to get the emails of a folder, we must select it before. */ string folderOpenStatus; int numMessages; //itera = folder_list.begin(); cout << endl << "********** SelectFolders **********" << endl; // DEBUG cout << "Folder name: " << (*itera).get_Folder_Name() << endl; // DEBUG cout << "Full folder name: " << (*itera).get_Full_Folder_Name() << endl;// DEBUG i = SelectFolder(connection, (*itera).get_Folder_Name(), numMessages, folderOpenStatus); if (i == UNKNOWN_MAILBOX) printf("Unknown mailbox - %d\n",i); cout << "numMessages = " << numMessages << " |folderOpenStatus = " << folderOpenStatus << endl;// DEBUG /** * Get new emails * - We must select a folder before or the function return us a failure */ printf("\n\n********************************************\n"); cout << "Folder name: " << (*itera).get_Folder_Name() << endl; cout << "Full folder name: " << (*itera).get_Folder_Name() << endl; i = GetNewMail(connection, (*itera)); if (i>BEG_FAIL || i==LIST_FAILED || i== FOLDER_NOT_EXIST) { printf("GetNewMail Error - %d\n",i); return -1; } int Message_id = 2; // Message identifier Message *email = (*itera).get_Message(Message_id); // Para obtener cuerpo de un email a partir de su uid, // primero necesitamos coger uno de la lista (orden por id) if (email != NULL) { cout << "From: " << email->get_From_Address() << endl; // DEBUG //cout << "Have body? " << email->have_Body_Text() << endl; // DEBUG //cout << "Date: " << email->get_Date() << endl; // DEBUG cout << "Subject: " << email->get_Subject() << endl; // DEBUG //cout << "UID: " << email->get_UID() << endl; // DEBUG //cout << "-------------------------------" << endl; // DEBUG i=email->get_Body_From_Server(connection); //cout << "getbodyfromserver=" << i << endl; // DEBUG //cout << "Have body? " << email->have_Body_Text() << endl; // DEBUG if (email->have_Body_Text() == 1) cout << "BODY: " << email->get_Body_Text(); // DEBUG } else cout << "The message does not exist." << endl; /** * Logout * - Finalize the session */ i = IMAPLogout(connection); if (i != SUCCESS) { cout << "An error ocurred" << endl; return -1; } return 0; }