Exemple #1
0
        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);
        }
Exemple #2
0
        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;
            }
        }