Esempio n. 1
0
 public void WaitForMail()
 {
     var pop3Client = new Pop3Client();
     pop3Client.Connect(_server, _userAddress, _password);
     while ((pop3Client.List() as List<Pop3Message>).Count == 0)
     {
         pop3Client.Disconnect();
         Thread.Sleep(5);
         pop3Client.Connect(_server, _userAddress, _password);
     }
     Pop3Message message = pop3Client.List().First();
     pop3Client.Retrieve(message);
     ProcessMessage(new OrderMessage { From = message.From });
     pop3Client.Disconnect();
 }
 public List<Pop3Message> GetMailMessages(string mailBoxToRead, string password)
 {
     var pop3Client = new Pop3Client();
     pop3Client.Connect(_server, mailBoxToRead, password);
     try
     {
         var polls = 0;
         while ((pop3Client.List() as List<Pop3Message>).Count == 0 && polls < 100)
         {
             pop3Client.Disconnect();
             Thread.Sleep(5);
             pop3Client.Connect(_server, mailBoxToRead, password);
             polls++;
         }
         var pop3Messages = pop3Client.List() as List<Pop3Message>;
         return pop3Messages;
     }
     finally
     {
         pop3Client.Disconnect();
     }
 }
Esempio n. 3
0
        private void DeleteMessage(int messageNumber)
        {
            using (Pop3Client client = new Pop3Client())
            {
                // Connect to the server
                client.Connect(host, port, false);

                // Authenticate ourselves towards the server
                client.Authenticate(mailServerUserName, mailServerPassword, AuthenticationMethod.UsernameAndPassword);

                client.DeleteMessage(messageNumber);

                client.Disconnect();
            }
        }
Esempio n. 4
0
        public Dictionary <int, Message> FetchAllMessages()
        {
            var result = new Dictionary <int, Message>();

            using (Pop3Client client = new Pop3Client())
            {
                client.Connect(host, port, false);

                client.Authenticate(mailServerUserName, mailServerPassword, AuthenticationMethod.UsernameAndPassword);

                int messageCount = client.GetMessageCount();

                for (int i = messageCount; i > 0; i--)
                {
                    result.Add(i, client.GetMessage(i));
                }
            }

            return(result);
        }
Esempio n. 5
0
        static void Main( string[] args )
        {
            string server = "XXXX";
            string userName = "******";
            string password = "******";

            Pop3Client pop3Client = new Pop3Client( );

            Console.WriteLine( "Connecting to POP3 server '{0}'...{1}", server, Environment.NewLine );

            pop3Client.Connect( server, userName, password, true );

            Console.WriteLine( "List Messages...{0}", Environment.NewLine );
            List<Pop3Message> messages = pop3Client.List( );

            Console.WriteLine( "Retrieve Messages...{0}", Environment.NewLine );
            foreach ( Pop3Message message in messages )
            {
                Console.WriteLine( "- Number: {0}", message.Number );

                //popClient.RetrieveHeader( message );
                //Console.WriteLine( "\t* Header: {0}", message.Header );

                pop3Client.Retrieve( message );

                Console.WriteLine( "\t* MessageID: {0}", message.MessageId );
                Console.WriteLine( "\t* Date: {0}", message.Date );
                Console.WriteLine( "\t* From: {0}", message.From );
                Console.WriteLine( "\t* To: {0}", message.To );
                Console.WriteLine( "\t* Subject: {0}", message.Subject );

                Console.WriteLine( );
            }

            Console.WriteLine( "Disconnecting...{0}", Environment.NewLine );
            pop3Client.Disconnect( );

            Console.ReadLine( );
        }
Esempio n. 6
0
        public static void Worker(string[] args)
        {
            //#if PUBLIC_BUILD
            if (!Globals.IsValid())
                return;
            //#endif

            if (args[0] == "activatemail" && args.Length != 4)
            {
                ConsoleLog.WriteLine("activatemail pop_server login password");
                return;
            }
            if (args[0] == "activatelist" && args.Length != 2)
            {
                ConsoleLog.WriteLine("activatelist mailboxes_file");
                return;
            }

            NickNameAndPasswordGenerator gen = new NickNameAndPasswordGenerator("", 0);
            List<string> mailBoxes = null;
            if (args[0] == "activatemail")
            {
                mailBoxes = new List<string>();
                mailBoxes.Add(args[1] + ';' + args[2] + ';' + args[3] + ";xxx");
            }
            if (args[0] == "activatelist")
            {
                mailBoxes = gen.GetMailListBoxs(args[1]);
            }

            foreach (var mailbox in mailBoxes)
            {
                mailclient = new Pop3.Pop3Client();
                messagesToDelete = new List<Pop3Message>();
                messNumber = 0;
                messCount = 0;
                ConsoleLog.WriteLine("Connecting to " + mailbox.Split(';')[0]);
                mailclient.Connect(mailbox.Split(';')[0], mailbox.Split(';')[1], mailbox.Split(';')[2]);
                ConsoleLog.WriteLine("Logged in. Retrieving message list...");
                List<Pop3Message> messages = mailclient.List();
                mailclient.Retrieve(messages);

                int poolsize = Globals.threadCount;
                if ((args[0] == "activatelist") || (Globals.BotConfig.useTOR))
                    poolsize = 1;

                try
                {
                    messCount = messages.Count;
                    NerZul.Core.Utils.Bicycles.ThreadPool.ExecInPool(ActivateProc, messages, poolsize, true, Globals.ShowDlg);

                    if (args[0] == "activatelist")
                    {
                        gen.FixBoxAct(mailbox.Split(';')[3]);
                    }
                }
                catch (System.Exception e)
                {
                    ConsoleLog.WriteLine("Activate mail error: " + e.Message);
                }

                ConsoleLog.WriteLine("Deleteing processed messages...");
                mailclient.Delete(messagesToDelete);
                ConsoleLog.WriteLine("Disconnecting...");
                mailclient.Disconnect();
                ConsoleLog.WriteLine("Finished");

                messagesToDelete.Clear();
            }
        }