Tuesday, July 22, 2014

How To: Delayed Sending for Outlook 2011 for Mac

All of the "Getting Things Done" time management experts will tell you to stop checking your email. (They'll also tell you to turn off the little alarm and any other popups or indicators that you've got new mail.)

This is all well and good... unless you work in a place with lots of email.  I would constantly find myself working through some email, and then new email would come in and I'd pop over and read and handle that and then get back to the rest of my email.  I've worked on some other tricks to help me prioritize (like using categories or moving email out of my inbox and handling it in a different folder) but still, new email would come in.  Another trick I'd use was to compose my message and save it as a draft to send later.  That would prevent someone from replying immediately like a hot potato, but it did nothing to stop the flood of new incoming email and worse yet, sometimes I'd forget to send the outbound email.

We recently transitioned to Outlook and with its connection to Exchange, mail delivery is near instantaneous, regardless of what the schedule says, new mail is pushed right away.

Delaying outbound email had several benefits - I could make changes to an email after I'd hit send and sometimes I'd rethink the entire email and delete it altogether.

I researched but could find no method for delaying email in Outlook 2011 for the Mac until I stumbled upon some AppleScripts.  With a little research, I stumbled upon a method that's worked really well for me.  I created a small script that sets Outlook into Online mode, syncs with the server, waits 5 seconds, flips into Offline mode, waits 600 seconds (10 minutes) and repeats the pattern.

This is a bit of a cheat - it means I could send an email and have it delivered seconds later if I sent it right before the sync. But it's good enough - new emails don't go out right away, new emails aren't pouring in constantly.

I just plugged this into the AppleScript editor and hit Run. I haven't done anything fancy with it, but it gets the job done.

repeat 100 times
     log "Sync at - " & (current date)
     tell application "Microsoft Outlook" to set working offline to false
     tell application "Microsoft Outlook" to sync
     delay 5

     tell application "Microsoft Outlook" to set working offline to true
     delay 600
end repeat

Caveat: If you're trying to schedule a meeting with someone or book a conference room, you'll need to flip back into Online mode first to see availability.

If this works for you, or if you have other suggestions, please leave me a comment!

No comments: