Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
{ Won’t some backups of your outlook attachments are filtered some incoming log files? Here's the function. } usesComObj; {...} 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. }