static void Main(string[] args) { DateTime start = DateTime.Now; POPClient c = new POPClient("212.42.77.244", 110, "*****@*****.**", "jgnbvf", AuthenticationMethod.USERPASS); c.ReceiveTimeOut = 10000000; int mc = c.GetMessageCount(); for (int i = mc; i >= 1; i--) { OpenPOP.MIMEParser.Message m = c.GetMessageHeader(i);// c.GetMessage(i, false); Console.WriteLine(String.Format("{0} - {1}", i.ToString(), m.FromEmail)); m = null; } c.Disconnect(); Console.WriteLine(DateTime.Now - start); }
private object[] PopMailScan() { POPClient currentPopClient = new POPClient(); Message currentMessage; int msgNumber; int j = 0; object[] tmpObjectArray; try { Utils.MaMessage(String.Format(tsl.T("[POPSCANCONNECTING]"), DateTime.Now.ToString(TimeFormat), CurrentConfig.InputPopHost, CurrentConfig.InputPopPort)); //Establishing connection to mail server currentPopClient.Connect(CurrentConfig.InputPopHost, CurrentConfig.InputPopPort); if (currentPopClient.Connected) { // Retrieve credentials Utils.MaMessage(String.Format(tsl.T("[POPSCANCONNECTED]"), DateTime.Now.ToString(TimeFormat), CurrentConfig.InputPopHost), Utils.maMessageLineType.WriteLine, Utils.maMessageOutput.ConsoleAndLog, CurrentConfig.LogFile); GetCredentials(ref CurrentConfig.InputPopLogin, ref CurrentConfig.InputPopPassword, "[LOGININPUT]", "[PASSWORDINPUT]"); //Authenticate currentPopClient.Authenticate(CurrentConfig.InputPopLogin, CurrentConfig.InputPopPassword); // Get message Number msgNumber = currentPopClient.GetMessageCount(); Utils.MaMessage(String.Format(tsl.T("[POPSCANFOUND]"), DateTime.Now.ToString(TimeFormat), msgNumber), Utils.maMessageLineType.WriteLine, Utils.maMessageOutput.ConsoleAndLog, CurrentConfig.LogFile); //dimension array tmpObjectArray = new object[msgNumber]; // Setting array for (int i=0; i<msgNumber ; i++) { //Get message header currentMessage = currentPopClient.GetMessageHeader(i + 1); // If subject matches filter if (currentMessage.Subject.Contains(CurrentConfig.InputPopFilter)) { // Get message Utils.MaMessage(String.Format(tsl.T("[POPSCANRETRIEVING]"), DateTime.Now.ToString(TimeFormat), i + 1, msgNumber)); currentMessage = currentPopClient.GetMessage(i + 1, false); // If there is an attachment, store message and delete it if (currentMessage.HasAttachment) { tmpObjectArray[j] = currentMessage; if (CurrentConfig.InputPopDeleteMessages) { currentPopClient.DeleteMessage(i + 1); } j++; } else Utils.MaMessage(String.Format(tsl.T("[POPSCANNOATT]"), DateTime.Now.ToString(TimeFormat), i + 1, msgNumber)); } else { Utils.MaMessage(String.Format(tsl.T("[POPSCANNOMATCH]"), DateTime.Now.ToString(TimeFormat), i + 1, msgNumber,CurrentConfig.InputPopFilter, currentMessage.Subject)); } } tmpObjectArray = Utils.ResizeObjectArray(tmpObjectArray, j); currentPopClient.Disconnect(); return tmpObjectArray; } else { throw new Exception(tsl.T("[POPSCANNOCONNECTION]")); } } catch (Exception e) { Utils.MaMessage(String.Format(tsl.T("[POPSCANERROR]"), DateTime.Now.ToString(TimeFormat), e.Message), Utils.maMessageLineType.WriteLine, Utils.maMessageOutput.ConsoleAndLog, CurrentConfig.LogFile); return null; } }