Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / POP3 клиент на Indy (Delphi7) / 12 сообщений из 12, страница 1 из 1
01.12.2003, 12:12
    #32339218
Mihail R.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POP3 клиент на Indy (Delphi7)
привет делфяне.

помогите победить такую замороку:
работаю с POP3 клиентом, все нормально пашет, но когда приходит письмо с вложением на 7Мб он его закачивает, вложение сохраняет и при попытке удалить выдает такую хрень:
Код: plaintext
/var/mail/.schetchik.pop lock busy!  Is another session active? ( 35 )

че за ерунда.
пробовал дисконнект затем снова коннект и задержку ставил, все равно также.

че делать-то?
...
Рейтинг: 0 / 0
01.12.2003, 13:17
    #32339326
Cooper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POP3 клиент на Indy (Delphi7)
2 Mihail R.

А можно увидеть - как Вы читаете письма и сохраняете вложение?
...
Рейтинг: 0 / 0
01.12.2003, 14:49
    #32339505
Mihail R.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POP3 клиент на Indy (Delphi7)
конечно можно
Код: 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.
34.
35.
36.
37.
38.
39.
40.
  try
    try pop3.Connect;
    except
      exit
    end;
    try
      if POP3.CheckMessages< 1  then
        begin
          Memo1.Lines.Add('there`s no messages');
          exit;
        end
      else begin
        try
          rez:=POP3.Retrieve( 1 ,msg);
        except
          Memo1.Lines.Add('не могу считать сообщение!');
          SendErr;  exit
        end;
        if (msg=nil)or(rez=false) then
          begin
            Memo1.Lines.Add('ошибочное сообщение!');
            SendErr;  exit
          end;
       for i:= 0  to msg.MessageParts.Count- 1  do
          if msg.MessageParts[i] is TIdAttachment then
            with (msg.MessageParts[i] as TIdAttachment) do
              (msg.MessageParts[i] as TIdAttachment).SaveToFile('TAccum.db');
        pop3.Disconnect;
        for i:= 0  to  10  do begin Sleep( 50 ); Application.ProcessMessages end;
        pop3.Connect;
<<<<<< глючит у меня на следующей строке, но только на больших файлах >>>>>>
        pop3.Delete( 1 );
        Memo1.Lines.Add('--конец отчета--');
      end
    finally
      POP3.Disconnect;
    end;
  except
    on e:Exception do Memo1.lines.Add(e.Message);
  end;
...
Рейтинг: 0 / 0
01.12.2003, 14:51
    #32339512
Mihail R.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POP3 клиент на Indy (Delphi7)
Cooper, на тебя вся надежда.
:-)
...
Рейтинг: 0 / 0
01.12.2003, 15:55
    #32339620
Cooper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POP3 клиент на Indy (Delphi7)
Да я собственно спрашивал из своего шкурного интереса. Тоже глючит, но по-другому.

А по твоему вопросу:
Зачем ты делаешь disconnect, потом опять connect, а только потом delete(1)?
Непонятно.

Кстати, если не трудно - кинь еще кусок кода - как отправляешь письмо.
...
Рейтинг: 0 / 0
03.12.2003, 14:10
    #32342048
Mihail R.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POP3 клиент на Indy (Delphi7)
раньше connect \ disconnect не делал,
когда стало глючить добавил, но увы не помогло.

по этому поводу я еще думал, что может глючит из-за долгой обработки присланного файла (пара минут) (код обработки я убрал, он был как раз перед удалением). думал что коннект теряется или что еще...

а как у тебя глючит?
...
Рейтинг: 0 / 0
03.12.2003, 14:14
    #32342053
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POP3 клиент на Indy (Delphi7)
А версия Indy какая? Дело в то что я лично использовал (на BCB6) их для приема сообщений в 12 метров и таких проблем не возникало
...
Рейтинг: 0 / 0
03.12.2003, 14:18
    #32342063
Mihail R.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POP3 клиент на Indy (Delphi7)
а это, соббственно, отправка:
там я вставляю в письмо текст из мемо1 и добавляю присланный текст.
присланные вложения я грохаю.
настройки письма получаются теже что и в присланном. (т.е. это тоже самое письмо)

Код: 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.
procedure TfMailClnt.SendErr;
var i:integer;
begin
  try
    try
      msg.Body.Text:=WinToKOI(Memo1.Text);
      for i:=msg.MessageParts.Count- 1  downto  0  do
        if msg.MessageParts.Items[i] is TIdText then
          msg.Body.AddStrings((msg.MessageParts.Items[i] as TIdText).Body)
        else msg.MessageParts.Delete(i);
      msg.CharSet:='koi8-r';
      msg.Recipients.EMailAddresses:='юзер@домен.ru';
      msg.From.Address:='юзер1@домен1.ru';
      msg.From.Name:='Robot';
      msg.Sender.Address:='юзер1@домен1.ru';
      msg.Sender.Name:='Robot';
      SMTP.Connect;
      SMTP.Send(msg);
    except
      WinExec('net send radchenko глюк при отправке сообщения',SW_SHOWNORMAL);
      strlst.Clear;
      try strlst.LoadFromFile('error.log'); except end;
      strlst.AddStrings(Memo1.Lines);
      DeleteFile('error.log');
      strlst.SaveToFile('error.log');
    end;
  finally
    SMTP.Disconnect;
  end;
  Memo1.Lines.Add('отправлено уведомление');
end;
...
Рейтинг: 0 / 0
03.12.2003, 14:25
    #32342073
Mihail R.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POP3 клиент на Indy (Delphi7)
2 funikovyuri
у меня стандартные из Delphi7

думаю глюк именно из-за задержки между закачкой и удалением.
но удалять до обработки нельзя. :-(
...
Рейтинг: 0 / 0
03.12.2003, 18:48
    #32342511
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POP3 клиент на Indy (Delphi7)
Постараюсь сегодня посмотреть свои исходники, а пока, на всякий случай, поставте себе Indy 9
...
Рейтинг: 0 / 0
03.12.2003, 20:51
    #32342650
Cooper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POP3 клиент на Indy (Delphi7)
2 Mihail R.

А можно увидеть как Вы отправляете письмо с аттачментом?

===============================
Q per
...
Рейтинг: 0 / 0
04.12.2003, 14:32
    #32343511
Mihail R.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POP3 клиент на Indy (Delphi7)
2 Cooper
своих аттачментов не цеплял, раньше я пересылал приходящие аттачменты.
разница тольков в строке
Код: plaintext
1.
        else msg.MessageParts.Delete(i);

раньше ее не было.
пожаловаться не на что, все работало нормально.

2 funikovyuri
спасибо.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / POP3 клиент на Indy (Delphi7) / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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