Сохранение прикреплений OutlookDelphi , Интернет и Сети , Почтовый клиентСохранение прикреплений Outlook
Оформил: DeeCo { Won’t some backups of your outlook attachments are filtered some incoming log files? Here's the function. } uses ComObj; {...} function ManageAttachments(SendersName, AttachmentPath: string; MailDelete: Boolean): Boolean; var oApp: Variant; oNs: Variant; oFolder: Variant; oMsg: Variant; AtC: Variant; AttFilename: Variant; FileName: string; CheckSender: string; Counter: integer; MailCounter: integer; begin try oApp := CreateOLEObject('outlook.application'); try oNs := oApp.GetNamespace('MAPI'); ofolder := oNS.GetDefaultFolder(6); // FolderTypeEnum (olFolderInbox) MailCounter := 1; // If there is any email in the Inbox if ofolder.Items.Count > 0 then begin repeat // Get the first Email oMsg := ofolder.Items(MailCounter); // Check the name or Email // Use CheckSender := oMsg.subject to search on Subject; CheckSender := oMsg.sendername; if CheckSender = SendersName then // Remove this line to backup all your attachments. begin // Check how many attachments atc := oMsg.Attachments.Count; if atc > 0 then begin // Get all the attachments and save them for Counter := 1 to atc do begin AttFilename := oMsg.Attachments.item(Counter).FileName; //filename := IncludeTrailingBackslash(AttachmentPath)+AttFilename; {Use this line for D5)} FileName := AttachmentPath + '\' + AttFilename; oMsg.Attachments.Item(Counter).SaveAsFile(FileName); end; end; if MailDelete then begin oMsg.Delete; // There's 1 Email less, so MailCounter - 1 Dec(MailCounter); end; end; // Get the next Email Inc(MailCounter); // Do until there is no more Email to check until MailCounter > ofolder.Items.Count; end; finally oApp.quit; end; except Result := False; Exit; end; Result := True; end; procedure TForm1.Button1Click(Sender: TObject); begin // ManageAttachments(Email or name, Backup directory, MailDelete yes or no) ManageAttachments('info@cleys.com', 'F:\test', False); end; { Warning! All your selected Email will be deleted if MailDelete = true Achtung! Alle E-Mails werden geloscht, wenn MailDelete = true ist. } Перевод контента на русский язык: Это программное обеспечение Delphi, использующее COM-объекты для взаимодействия с Microsoft Outlook. Программа имеет два основные функции:
Предложения по улучшению кода:
Альтернативное решение:
Вместо использования COM-объектов можно использовать библиотеку Обсуждается функция для сохранения прикреплений электронных писем Microsoft Outlook в указанный путь на компьютере и возможность удаления отправленных писем после сохранения. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Почтовый клиент ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |