birdyb
Goto Top

Per Skript alle Mails älter als 14 Tage von IMAP-Server löschen

Hallo zusammen,

im Moment stehe ich total auf dem Schlauch, denn ich habe die Aufgabe automatisiert alle Mails die älter als 14 Tage sind aus einem IMAP-Postfach löschen zu lassen.
Leider finde ich kein Tool, welches mir bei der Lösung dieses Problems weiterhilft (Vielleicht sind es auch die Tomaten auf meinen Augen face-wink )
Hat jemand von euch eine Idee, wie ich das realisieren kann?

Danke für die Hilfe und beste Grüße!


Berthold

Content-Key: 247933

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

Printed on: April 24, 2024 at 12:04 o'clock

Member: Lochkartenstanzer
Solution Lochkartenstanzer Sep 01, 2014 updated at 09:37:53 (UTC)
Goto Top
Moin,

IMAPExpire, deletemail & co. helfen Dir nicht?

lks
Member: BirdyB
BirdyB Sep 01, 2014 at 09:37:48 (UTC)
Goto Top
Das waren die Tomaten... Danke!
Member: Lochkartenstanzer
Lochkartenstanzer Sep 01, 2014 updated at 09:39:55 (UTC)
Goto Top
Zitat von @BirdyB:

Das waren die Tomaten... Danke!

Mach einfach Tomatensalat draus. Mit Zwiebeln, Mozarella und Olivenöl dazu hast Du dann wieder den Durchblick. face-smile

gern geschen.

lks
Member: colinardo
colinardo Sep 01, 2014 updated at 09:47:21 (UTC)
Goto Top
Hallo Berthold,
und wenn es noch jemand als Outlook Makro braucht, der hier vorbei schaut:
Sub DeleteOldMailsImap()
    Dim fldrImapRoot As Folder, colOldMails As New Collection, mail as Mailitem
    Set fldrImapRoot = Application.Session.Stores("user@domain.de").GetRootFolder  
    parseImapFolders fldrImapRoot, colOldMails
    For Each mail In colOldMails
        mail.Delete
    Next
End Sub

Sub parseImapFolders(ByVal fldr As Folder, ByRef colOldMails As Collection)
    Dim objMail As MailItem, dateRemove As Date
    dateRemove = DateAdd("d", -14, Date)  
    
    If fldr.DefaultItemType = olMailItem Then
        For Each objMail In fldr.items
            If objMail.ReceivedTime < dateRemove Then
                colOldMails.add objMail
            End If
        Next
    End If
    For Each subfolder In fldr.Folders
        parseImapFolders subfolder, colOldMails
    Next
End Sub
Grüße Uwe