| 
 
 
{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 gelöscht, wenn MailDelete = true ist.
 }
 
 
 
   
   
    | 
         
          | Bewerten Sie diesen Tipp: |  |  |