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

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

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

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

А можно увидеть - как Вы читаете письма и сохраняете вложение?
...
Рейтинг: 0 / 0
POP3 клиент на Indy (Delphi7)
    #32339505
Фотография Mihail R.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
конечно можно
Код: 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
POP3 клиент на Indy (Delphi7)
    #32339512
Фотография Mihail R.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cooper, на тебя вся надежда.
:-)
...
Рейтинг: 0 / 0
POP3 клиент на Indy (Delphi7)
    #32339620
Фотография Cooper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я собственно спрашивал из своего шкурного интереса. Тоже глючит, но по-другому.

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

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

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

а как у тебя глючит?
...
Рейтинг: 0 / 0
POP3 клиент на Indy (Delphi7)
    #32342053
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А версия Indy какая? Дело в то что я лично использовал (на BCB6) их для приема сообщений в 12 метров и таких проблем не возникало
...
Рейтинг: 0 / 0
POP3 клиент на Indy (Delphi7)
    #32342063
Фотография Mihail R.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а это, соббственно, отправка:
там я вставляю в письмо текст из мемо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
POP3 клиент на Indy (Delphi7)
    #32342073
Фотография Mihail R.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 funikovyuri
у меня стандартные из Delphi7

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

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

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

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

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


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