Ever have to convert from an email system that encourages keeping everything to one with limitations? Well, here’s a way to encourage Inbox Zero. I looked at a few different scripts to start from, but this one was the most helpful. Note that this only works with “old” Outlook, new Outlook has no AppleScript support at this time.
tell application "Microsoft Outlook" set accountName to name of default account set myInbox to folder "Inbox" of exchange account accountName set mySentItems to folder "Sent Items" of exchange account accountName my DeleteReadMessages(myInbox, 14) my DeleteReadMessages(mySentItems, 14) end tell on DeleteReadMessages(targetFolder, cutoff) tell application "Microsoft Outlook" set cutoffTime to cutoff * days with timeout of 600 seconds set theMessages to (messages of targetFolder whose is read is true) end timeout set today to (current date) set countEmailsDeleted to 0 set mailboxName to name of targetFolder repeat with theMessage in theMessages try set messageTime to time received of theMessage set messageAge to today - messageTime if messageAge > cutoffTime and (is read) of theMessage is true then set countEmailsDeleted to countEmailsDeleted + 1 permanently delete theMessage end if on error errorMsg log "Error: " & errorMsg end try end repeat display notification "Outlook cleanup ran at " & today & " - " & mailboxName & ":" & countEmailsDeleted & " messages were deleted." with title "Email Cleanup" sound name "Sosumi" end tell end DeleteReadMessages
Addendum: Deleting all the email does speed Outlook up… so maybe deleting old meetings from the calendar would help it too? I did write that script, but I can’t recommend it. First, you can’t delete old meetings, only cancel them: so it sends cancellation notices by the thousands. Second, taking this hit doesn’t actually make Outlook client go any faster. Outlook Web Access seems to be the best option for calendar use.