Re[2]: pop3 component
От: МихаилС Россия  
Дата: 01.04.03 12:34
Оценка:
Здравствуйте, dES0, Вы писали:

ES>Можешь посмотреть на это NMail,

ES>с POP3 он работает, да и парсит attachments.

Спасибо, огромное dES0, классная библитека! Именно то, что мне нужно.
Сообщение принимает, аттачменты "отдает"...
Правда при приеме сообщения с сервера возникало исключение с сообщением.

Snippet with last five error octals: {
aXJ1}
!!! ERROR's occured: 'Invalid tail.'


Видимо сообщение принималось не до конца.
Ситуация исправилась с добавлением задержек (дурацкое, но "быстрое" решение... пойдет для
первоначального тестирования) в метод Pop3.UnsafeReceive

StringBuilder UnsafeReceive()
{
  StringBuilder tmp = new StringBuilder();
  Encoding cenc = Encoding.ASCII;
  do
  {
    Byte [] buf = new Byte[MaxReceiveSize];

    // --- HERE ---
    Thread.Sleep( 2000 );
    // ============

    int recv = _socket.Receive(buf, SocketFlags.None);
    if (recv == 0) 
    {
      if (tmp.Length > STAT_ERR.Length) 
      {
        break;
      }
      CloseSocket();
      throw new DeadConnectException("Zero has been returned from Receive;"
        "possibly server close the connection");
    }
    tmp.Append(cenc.GetChars(buf, 0, recv));

    // --- HERE ---
    Thread.Sleep( 2000 );
    // ============
  } while(_socket.Poll(PollTimeout, SelectMode.SelectRead));


Сейчас попробую поискать "более красивое" решение проблемы.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.