Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.07.2011, 07:19   #1
dvvid
 
Регистрация: 02.07.2010
Сообщений: 4
По умолчанию Проблемы с сохранением вложений delphi

Доброго времени суток,

Помогите пожалуйста разобраться в следующей проблеме выбираю вложения с email следующей структурой

Код:
POP3.Connect; // подключение по протоколу POP3, по настройкам в компоненте IdPOP3, с именем POP3

      if POP3.Connected then begin // если подключение прошло успешно
        for i := 1 to POP3.CheckMessages do begin // Перебор сообщений
          MessagePop.Clear;

          POP3.Retrieve(i, MessagePop); // получение одного сообщения POP3.CheckMessages

          if MessagePop.MessageParts.Count <> 0 then
            for j:=0 to MessagePop.MessageParts.Count - 1 do
              if MessagePop.MessageParts.Items[j].DisplayName = 'TIdAttachmentFile' then begin

                ShowMessage(MessagePop.MessageParts.Items[j].FileName);
                TIdAttachmentFile(MessagePop.MessageParts.Items[j]).SaveToFile('D:\DIMA\' + MessagePop.MessageParts.Items[j].FileName);
                end;
        end;
      end;
Все вложения сохраняются нормально, но есть один отправитель от которого приходят zip архивы, после сохранения их открыть не удается пишет, что то вроде не верный конец архива. Хотя если скачиваю через веб интерфейс или любую почтовую программу то все good. И также если я сам пересылаю тот же файл (скачанный через почтовую программу), то delphi этот файл тоже качает нормально. Помогите разобраться в чем может быть проблема. У меня подозрение на кодирование файла?


У нас принято оформлять код специальным тегом. Кнопка #. Модератор

Последний раз редактировалось dr.Chas; 26.07.2011 в 23:25.
dvvid вне форума Ответить с цитированием
Старый 21.07.2011, 08:15   #2
dvvid
 
Регистрация: 02.07.2010
Сообщений: 4
По умолчанию

Разобрался, что те архивы которые не получается правильно скачать имеют тип кодировки x-uuencode
А вложения от остальных отправителей приходят в кодировке BASE64

Так вот почему письма в кодировке x-uuencode нормально не закачиваются при помощи TIdAttachmentFile. Как обойти данную проблему?

Последний раз редактировалось dvvid; 21.07.2011 в 08:17.
dvvid вне форума Ответить с цитированием
Старый 21.07.2011, 08:38   #3
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Попробуйте расшифровать с помощью компонента TIdDecoderUUE, который расположен во вкладке Indy Misc (начиная от D7).
Вот примерчик http://www.koders.com/delphi/fidC288...15D.aspx?s=xml
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Старый 21.07.2011, 09:16   #4
dvvid
 
Регистрация: 02.07.2010
Сообщений: 4
По умолчанию

А нет решения попроще, как то не понятно что сперва из x-uuencode в base64 перегонять а потом сохранять? Если так то совсем не понятно как сотворить данное действие с вложением?
dvvid вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с Delphi 7 на Windows 7 (delphi не принимает пути с кирилицей) unbanned Общие вопросы Delphi 12 16.04.2011 21:19
ошибка в коде с сохранением в файл в Delphi TaYgA Помощь студентам 3 22.11.2009 19:35
(VB) Проблема с сохранением phantom4eg Помощь студентам 0 16.09.2009 21:45
Проблемы с сохранением файла через SaveDialog Волк Общие вопросы Delphi 4 05.02.2009 04:27