drvegapunk
Goto Top

Outlook Mails nach x Tagen löschen

Hallo zusammen,

ich habe eine kurze Frage zum automatischen Löschen von E-Mails beim Autoarchiv. Ich habe beide Optionen ausprobiert, jedoch ohne Erfolg. Die Mails werden nicht gelöscht. Hat vielleicht jemand eine Idee?

1.

2

Content-ID: 9976079751

Url: https://administrator.de/contentid/9976079751

Printed on: October 11, 2024 at 03:10 o'clock

8030021182
8030021182 Dec 07, 2023 updated at 14:25:26 (UTC)
Goto Top
IMAP Konto? Wenn ja ist das normal, damit hat die Archivierung noch nie funktioniert. Nimmst du dann stattdessen ein Makro oder MailStore Home

Oder bei Exchange gleich die Aufbewahrungsrichtlinien (RetentionPolicies) benutzen.
https://learn.microsoft.com/en-us/exchange/policy-and-compliance/mrm/cre ...
https://learn.microsoft.com/en-us/exchange/policy-and-compliance/mrm/app ...

Gruß Katrin
extructor
extructor Dec 08, 2023 at 08:44:35 (UTC)
Goto Top
Du könntest auch ggf. alle alten Elemente in einen Ordner verschieben und diesen dann entweder alle X Tage händisch löschen oder eine Aufgabenplanung machen, welche den Ordner automatisch nach X Tagen bereinigt.
8030021182
8030021182 Dec 08, 2023 updated at 09:51:10 (UTC)
Goto Top
Dann kann man ja gleich einen benutzerdefinierten Suchordner (mit Kriterium älter als x Tage) in Outlook anlegen den man dann leeren lässt.
drvegapunk
drvegapunk Dec 08, 2023 at 11:00:11 (UTC)
Goto Top
Das mit den benutzerdefinierten Suchordner ist glaub die einfachste Variante, aber ich versuch mich mal an den Makros einzuarbeiten.
8030021182
8030021182 Dec 08, 2023 updated at 13:08:27 (UTC)
Goto Top
Zitat von @drvegapunk:

Das mit den benutzerdefinierten Suchordner ist glaub die einfachste Variante, aber ich versuch mich mal an den Makros einzuarbeiten.

Makro ist schnell getippt, hier für den aktuell Markierten Ordner, Mails älter als 4 Tage entsorgen:
Sub DeleteOldMails()
    dim mail as object, garbage as new Collection, limit as Date, mailcount as Long
    limit = DateAdd("d",-4,Date)  
    for each mail in ActiveExplorer.CurrentFolder.Items
        if mail.ReceivedDate < limit then
            garbage.add mail
        End if
    Next
    mailcount = garbage.Count
    if mailcount > 0 then
        for each itm in garbage
            itm.Delete
        Next
        msgbox  "Es wurden " & mailcount & " Mail(s) gelöscht", vbInformation  
    else
        msgbox  "Keine der Mails entspricht den Kriterien.", vbInformation  
    End if
End Sub
Will man das für einen festgelegten Ordner tun geht das wenn man Zeile 4 entsprechend modifiziert wie hier für die Inbox:
for each mail in Application.Session.Stores("user@domain.de").GetDefaultFolder(olFolderInbox).Items  
oder einen Unterordner der Inbox
for each mail in Application.Session.Stores("user@domain.de").GetDefaultFolder(olFolderInbox).Folders("Subfolder").Items  
usw.

Referenz wie immer hier nachzulesen:
Object model (Outlook)

Good Luck.