powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / MailDemo для INDY
9 сообщений из 9, страница 1 из 1
MailDemo для INDY
    #32141284
chenosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне необходимо добавить в программу прием - передачу почты. Попробовал INDY - взял примерчик MailDemo. Отправляю сообщение с аттачем, затем принимаю его. Вместо одного аттача вижу 2, причем первый пустой. Сохранение 2 аттача как файла тоже не проходит.
Ежели я принимаю это же сообщение Outlook Express-ом - то все в порядке. Вот он аттачик, как миленький. В чем тут может быть дело?
Я смотрел подобные вопросы в этом форуме, но ничего подобного не нашел.
6 версия 2 SP установлен.
...
Рейтинг: 0 / 0
MailDemo для INDY
    #32141285
Фотография Cooper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код в студию.
...
Рейтинг: 0 / 0
MailDemo для INDY
    #32141290
chenosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это пример из демо. Вот кусок, который работает при обработке сообщения:

for intIndex := 0 to Pred(Msg.MessageParts.Count) do
begin
if (Msg.MessageParts.Items[intIndex] is TIdAttachment) then
begin //general attachment
pnlAttachments.visible := true;
li := lvMessageParts.Items.Add;
li.ImageIndex := 8;
li.Caption := TIdAttachment(Msg.MessageParts.Items[intIndex]).Filename;
// li.SubItems.Add(TIdAttachment(Msg.MessageParts.Items[intIndex]).ContentType);
end
else
begin //body text
if Msg.MessageParts.Items[intIndex] is TIdText then
begin
Memo1.Lines.Clear;
Memo1.Lines.AddStrings(TIdText(Msg.MessageParts.Items[intIndex]).Body);
end
end;
end;
...
Рейтинг: 0 / 0
MailDemo для INDY
    #32141298
Фотография Cooper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ща гляну как у меня было (касяк такой помню). А пока вопрос - полчему indy, а не Fastnet?
...
Рейтинг: 0 / 0
MailDemo для INDY
    #32141301
chenosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Путного ответа не будет. Просто увидел законченный модуль, в котором вроде есть все, что мне нужно, вот и решил с ним разобраться. Думал так проще. Задача абсолютно прикладная, не хотелось бы терять на нее много времени.
...
Рейтинг: 0 / 0
MailDemo для INDY
    #32141312
Фотография Cooper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос был какой? Проблемма с сохранением файлов. Щас открыл проект demos\indy\mailclient. Принял письмо, сохранил приатаченные файлы. все работает. Единственное там надо поправить имена файлов (он сохраняет по номерам).

А ваще лучше fastnet. Хотя и там глюки. А в демках ваще одни касяки.
...
Рейтинг: 0 / 0
MailDemo для INDY
    #32141344
chenosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А у меня получается так, как я описал в первом сообщении. Все делаю в этой програмке. Аттачу один файл, а получаю в списке 2, при этом один-первый без имени. Об сохранении вообще речи нет. Может дело в том, что я с прокси работаю?
Сегодня дома проверю на одиночном компе.
...
Рейтинг: 0 / 0
MailDemo для INDY
    #32141355
Фотография Cooper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Об сохранении вообще речи нет

Ну как же. Посмотри повнимательнее. При клике на имени файла, прога сохраняет его в текущюю папку с именем - цифра. Я же сказал, что это нужно поправить.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
procedure TfrmMain.lvMessagePartsClick(Sender: TObject);
var
  i: Integer;
begin
  {display message parts we selected}
   if lvMessageParts.Selected <> nil then
      begin
         if lvMessageParts.Selected.Index > Msg.MessageParts.Count then
            begin
               MessageDlg('Unknown index', mtInformation, [mbOK],  0 );
            end
         else
            begin
              for i :=  0  to Msg.MessageParts.Count -  1  do begin
                if Msg.MessageParts.Items[i] is TIdAttachment then begin
                    TIdAttachment(Msg.MessageParts.Items[i]).SaveToFile(inttostr(i));
                end;
              end;
            end;
      end;
end;


Ты это видел?
...
Рейтинг: 0 / 0
MailDemo для INDY
    #32141424
chenosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я уже занялся FastNet. Здесь все проще и пока получается.
Спасибо за подсказку.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / MailDemo для INDY
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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