![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получение почты в Delphi [D7, XP]
DimOk © (2007-08-27 12:23:00)Добрый день всем. Хочу поинтересоваться, как можно сохранить прикрепленные файлы к письму.
procedure TForm1.Button1Click(Sender: TObject);
var MyMessage: TIdMessage;
CountMessages: Integer;
attach: TIDAttachment;
begin
MyMessage := TIdMessage.Create(nil);
IdPOP31.Connect();
CountMessages := IdPOP31.CheckMessages();
while CountMessages > 0 do begin
if IdPOP31.Retrieve(CountMessages,MyMessage) = True then begin
RichEdit1.Lines.Assign(MyMessage.Body);
attach := TIDAttachment.Create(MyMessage.MessageParts);
//А дальше я не знаю что делать (касательно прикрепленных файлов)
//attach.SaveToFile(const FileName: TFeliName): Boolean - как работает эта функция в хелпе нет ни каких данных и примеров по indy компонентам.
end;
CountMessages := CountMessages - 1;
end;
ShowMessage(IntToStr(IdPOP31.CheckMessages()));
MyMessage.Free;
IdPOP31.Disconnect;
end;
Anatoly Podgoretsky (2007-08-28 11:28:00) [21]
> > Как и предполагалось - обманывал нас.
>
> Только вот имя файла не совсем на русском языке - отсюда
> и ошибка при сохранении (я так думаю)
Ты не здесь обманывал, речи о сохранение и быть не могло, у тебя даже программа не компилировалась!
DimOk (2007-08-28 11:26:00) [22]
> полный бред. такого быть не может.
Сейчас дословно напишу
umbra (2007-08-28 11:24:00) [23]
> r?B?09fJztjJLnJ0Zg.zip
полный бред. такого быть не может.
DimOk (2007-08-28 11:21:00) [24]
> что-то не верится. Показывает или все или ничего.
В отладчекн в Вач Виндов MyMessage.MessageParts.Items[i]).FileName Value = вот типо этого r?B?09fJztjJLnJ0Zg.zip
umbra (2007-08-28 11:19:00) [25]
> только расширение правильно показывает
что-то не верится. Показывает или все или ничего.
DimOk (2007-08-28 11:16:00) [26]
> что-то наподобие этого:
> =?koi8-r?B?09fJztjJLnJ0Zg==?=
Да. только расширение правильно показывает :)
umbra (2007-08-28 11:15:00) [27]
> Только вот имя файла не совсем на русском языке
что-то наподобие этого:
=?koi8-r?B?09fJztjJLnJ0Zg==?=
DimOk (2007-08-28 11:13:00) [28]
> А чего смотреть и так ясно, что он равен информации в письме,
> если она прописана.
> Его возможно надо обработать до допустимого и указать куда
> сохранять, как это делают почтовики, а не а бы куда и черт
> знает что записать.
Да вы правы, сейчас попробовал - не сохраняет пишет eerror saving attachment.
Но как быть с русскими названиями файлов - AttacmentEncoding...? Или что то другое?
DimOk (2007-08-28 11:07:00) [29]
> Только вот имя файла не совсем на русском языке - отсюда
> и ошибка при сохранении (я так думаю)
Да. С англ. названиями все просто замечательно, а вот русские имена не сохраняет.
DimOk (2007-08-28 11:02:00) [30]
> Как и предполагалось - обманывал нас.
Только вот имя файла не совсем на русском языке - отсюда и ошибка при сохранении (я так думаю)
DimOk (2007-08-28 11:00:00) [31]
> Заблуждение
Но я все равно указываю путь куда его сохранять, а имя файла у меня состоит из кракозябр, поэтому он и не сохраняется - я так думаю, видимо проблемма в кодировке.....
Anatoly Podgoretsky (2007-08-28 10:55:00) [32]
> Если указать только имя то в папку с проектом,
Заблуждение
Anatoly Podgoretsky (2007-08-28 10:54:00) [33]
> Пишет - ундекларе идентифер Items[i], но после того как
> я написал:
Как и предполагалось - обманывал нас.
Anatoly Podgoretsky (2007-08-28 10:53:00) [34]
> а если в отладчике посмотреть, чему равно FileName?
А чего смотреть и так ясно, что он равен информации в письме, если она прописана.
Его возможно надо обработать до допустимого и указать куда сохранять, как это делают почтовики, а не а бы куда и черт знает что записать.
DimOk (2007-08-28 10:53:00) [35]
> И куда по твоему он будет сохранять?
Если указать только имя то в папку с проектом, а можно и 'C:\бла бла бла\' + MyMessage.MessageParts.Items[i]).FileName
DimOk (2007-08-28 10:52:00) [36]Пишет - ундекларе идентифер Items[i], но после того как я написал:
SaveToFile(TIdAttachment( MyMessage.MessageParts.Items[i]).FileName);
Все заработало! Всем огромное спасибо!
Anatoly Podgoretsky (2007-08-28 10:50:00) [37]> DimOk (28.08.2007 10:20:31) [31]
И куда по твоему он будет сохранять?
umbra (2007-08-28 10:45:00) [38]а если в отладчике посмотреть, чему равно
FileName?
DimOk (2007-08-28 10:38:00) [39]Error saving Attachment
umbra (2007-08-28 10:33:00) [40]
> пишет что не может сохранить
что и куда? полный текст сообщения можно?