powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / принимаю мыло, а мне Выдано исключение типа "OpenPOP.POP3.PopServerLockException"
11 сообщений из 11, страница 1 из 1
принимаю мыло, а мне Выдано исключение типа "OpenPOP.POP3.PopServerLockException"
    #38119012
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Вот так получаю письма с атачами, вернее атачи:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
static void Main(string[] args)
        {

            int z = 0;
            OpenPOP.POP3.POPClient popClient = new OpenPOP.POP3.POPClient ("mail.serv.ru", 11, "user", "pass",  OpenPOP.POP3.AuthenticationMethod.USERPASS);

            string pathToExe = System.IO.Path.GetDirectoryName(Environment.GetCommandLineArgs()[0]).ToString();
         
            try
            {
                Console.WriteLine(string.Format("Message count {0}", popClient.GetMessageCount()));
                z = popClient.GetMessageCount();

                for (int i = 1; i <= z; i++)
                {
                    OpenPOP.MIMEParser.Message msg = popClient.GetMessage(i, false);

                    msg.GetMessageBody(msg.RawMessageBody);
                    string text = msg.MessageBody.Count != 0 ? msg.MessageBody[0].ToString() : string.Empty;
                    byte[] data = Encoding.Default.GetBytes(text);
                   

                    if (msg.FromEmail == "cassa@mail.ru")
                    {
                        for (int j = 1; j <= msg.AttachmentCount - 1; j++)
                        {
                            OpenPOP.MIMEParser.Attachment attach = msg.GetAttachment(j);
                            byte[] fileAttach = attach.DecodedAsBytes();
                            if (fileAttach != null)
                               


                                //ЛОГИРОВАНИЕ                      
                                File.AppendAllText(pathToExe + "\\Mail_log.txt",
                                                   DateTime.Today.ToShortDateString() + "   " +
                                                   DateTime.Now.ToShortTimeString() + " " + attach.ContentFileName +
                                                   Environment.NewLine);
                            File.WriteAllBytes(string.Format(pathToExe + "\\In\\{0}", attach.ContentFileName),
                                               fileAttach);

                            Console.WriteLine(pathToExe + "\\Mail_log.txt",
                                              DateTime.Today.ToShortDateString() + "   " +
                                              DateTime.Now.ToShortTimeString() + " " + attach.ContentFileName);
                            Console.WriteLine(string.Format(pathToExe + "\\In\\{0}", attach.ContentFileName),
                                              fileAttach);


                            Console.WriteLine(string.Format("Message nummber {0}", i));
                            Console.WriteLine(string.Format("ID {0}", msg.MessageID));
                            Console.WriteLine(string.Format("Subject {0}", msg.Subject));
                            Console.WriteLine(string.Format("numb atach - {0}", j));
                            Console.WriteLine(string.Format("Attachments {0}", msg.Attachments[j]));

                            //Console.Read();
                        }


                        popClient.DeleteMessage(i); //!!!!!!!!! Удаление
                    }
                    
                }




            }


            catch
            {
                Process.GetCurrentProcess().Kill();
            }


            finally
            {
                if (popClient.Connected)
                    popClient.Disconnect();

            }



        }



эта консольная приблуда целый день запускается и благополучно "выдергивает" атачи с почты в нужную папочку
НО
около 5 раз на день вылизит вот такой эксепшн:

************** Текст исключения **************
OpenPOP.POP3.PopServerLockException: Выдано исключение типа "OpenPOP.POP3.PopServerLockException".
в OpenPOP.POP3.POPClient.AuthenticateUsingUSER(String strlogin, String strPassword)
в OpenPOP.POP3.POPClient.Authenticate(String strlogin, String strPassword, AuthenticationMethod authenticationMethod)
в OpenPOP.POP3.POPClient..ctor(String strHost, Int32 intPort, String strlogin, String strPassword, AuthenticationMethod authenticationMethod)
в SaveMailAtach.Form1.Form1_Load(Object sender, EventArgs e)


нажимаешь на исключении выход и даже если сразу запустить еще раз прогу - работает.... но естественно пока не нажмешь "выход" - прога стоит.... что не допустимо

чего поп сервер заблокирован фиг его знает, ящик исключительно для этой проги, больше с ним никто не работает, пробовал как видно из кода варварски убивать процесс.... не помогло...

Буду очень рад помощи.
Спасибо!
...
Рейтинг: 0 / 0
принимаю мыло, а мне Выдано исключение типа "OpenPOP.POP3.PopServerLockException"
    #38119410
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sputnick,

а что делает эта строчка?
Process.GetCurrentProcess().Kill();
...
Рейтинг: 0 / 0
принимаю мыло, а мне Выдано исключение типа "OpenPOP.POP3.PopServerLockException"
    #38119452
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pationSputnick,

а что делает эта строчка?
Process.GetCurrentProcess().Kill();

ну это неудачная попытка убить процесс если получим эксепшн.... но эффекта ноль
...
Рейтинг: 0 / 0
принимаю мыло, а мне Выдано исключение типа "OpenPOP.POP3.PopServerLockException"
    #38119454
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин, наверно правильней еще добавить -
catch(Exception e).....
...
Рейтинг: 0 / 0
принимаю мыло, а мне Выдано исключение типа "OpenPOP.POP3.PopServerLockException"
    #38119520
sld
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sld
Гость
Код: c#
1.
2.
3.
            popClient = new OpenPOP.POP3.POPClient ("mail.serv.ru", 11, "user", "pass",  OpenPOP.POP3.AuthenticationMethod.USERPASS);

            string pathToExe = System.IO.Path.GetDirectoryName(Environment.GetCommandLineArgs()[0]).ToString();



может это тоже в try catch занести, тогда может не будет вываливаться
...
Рейтинг: 0 / 0
принимаю мыло, а мне Выдано исключение типа "OpenPOP.POP3.PopServerLockException"
    #38119529
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sputnickблин, наверно правильней еще добавить -
catch(Exception e).....
наверно правильней книжек почитать
...
Рейтинг: 0 / 0
принимаю мыло, а мне Выдано исключение типа "OpenPOP.POP3.PopServerLockException"
    #38119567
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SputnickБуду очень рад помощи

1) почитать протокол pop3 (rfc1939)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
PASS string

         Arguments:
             a server/mailbox-specific password (required)

         Restrictions:
             may only be given in the AUTHORIZATION state immediately
             after a successful USER command

         Discussion:
             When the client issues the PASS command, the POP3 server
             uses the argument pair from the USER and PASS commands to
             determine if the client should be given access to the
             appropriate maildrop.

             Since the PASS command has exactly one argument, a POP3
             server may treat spaces in the argument as part of the
             password, instead of as argument separators.

         Possible Responses:
             +OK maildrop locked and ready
             -ERR invalid password
             -ERR unable to lock maildrop

         Examples:
             C: USER mrose
             S: +OK mrose is a real hoopy frood
             C: PASS secret
             S: -ERR maildrop already locked
               ...
             C: USER mrose
             S: +OK mrose is a real hoopy frood
             C: PASS secret
             S: +OK mrose's maildrop has 2 messages (320 octets)

2) Уметь обрабатывать корректный ответ сервера
...
Рейтинг: 0 / 0
принимаю мыло, а мне Выдано исключение типа "OpenPOP.POP3.PopServerLockException"
    #38119578
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79SputnickБуду очень рад помощи

1) почитать протокол pop3 (rfc1939)

Код: plaintext
1.
2.
3.
4.
PASS string

         Arguments:
         ........
             S: +OK mrose's maildrop has 2 messages (320 octets)

2) Уметь обрабатывать корректный ответ сервера

спасибо, направление понял
...
Рейтинг: 0 / 0
принимаю мыло, а мне Выдано исключение типа "OpenPOP.POP3.PopServerLockException"
    #38119579
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pationSputnickблин, наверно правильней еще добавить -
catch(Exception e).....
наверно правильней книжек почитать

да, очень многие "жители" sql.ru славятся такими советами.

Спасибо.
...
Рейтинг: 0 / 0
принимаю мыло, а мне Выдано исключение типа "OpenPOP.POP3.PopServerLockException"
    #38119819
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sputnickpationпропущено...

наверно правильней книжек почитать

да, очень многие "жители" sql.ru славятся такими советами.

Спасибо.

ничего не могу с собой поделать, когда когда вижу человека не читающего книжек
...
Рейтинг: 0 / 0
принимаю мыло, а мне Выдано исключение типа "OpenPOP.POP3.PopServerLockException"
    #38119926
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pationSputnickпропущено...


да, очень многие "жители" sql.ru славятся такими советами.

Спасибо.

ничего не могу с собой поделать, когда когда вижу человека не читающего книжек

Тогда и я вам дам совет:

В своей подписи напишите: "Господа Читайте книги, там все есть"

А чтобы засветиться кидайте сообщение типа: "Удачи Вам или Я желаю Вам счастья"

и человеку приятно и он прочел подпись про необходимость чтения книг ;-)

Сори за оффтоп. Будьте счастливы!
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / принимаю мыло, а мне Выдано исключение типа "OpenPOP.POP3.PopServerLockException"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]