Tip o' the Week 379 – Delay mail, revisited

clip_image001A couple of years ago, ToW #282 covered how to delay your mail from being sent, by forcing Outlook to work offline, by selectively delaying individual messages or even adding a rule to ensure that every one is held up. It’s a very useful thing to do, sometimes – a great way to prevent accidental mail sending, or give you a chance to revise stuff you’ve sent after maybe reading newer emails in your inbox.

This tip presents a refinement of the process as there is a downside to automatically delaying everything – namely, if you’re in a hurry to go somewhere but you need a mail to be fired off beforehand, it can be annoying to have to hang around for the enforced delay to expire before you can safely pack up and head out.

You will need to do a bit of digging around inside Outlook dialogs, so it may help to park this on a 2nd screen, copy to a Word doc or something…

What we’re going to do is set up a rule to delay all outgoing email – except mail with a particular category assigned to it, so that will be sent immediately. If you know you want the mail you’re about to send to go right now, then you could manually set the category before you hit send, and it will leave straight away.

clip_image003

  1. Go into Rules in the main Outlook window (either from the menu, or just search for Rules in the “Tell me what you want to do” box) , and select the Manage Rules & Alerts option.
  2. To create a new rule to delay mail (if you’ve already got one as per Tow#282, then edit it to do the same) try adding one that applies to messages you send, then don’t choose any clip_image005conditions (and accept that it will fire on all messages) , then when asked for exceptions, set a condition so that it won’t apply if clip_image007a particular category is set (eg create a Category called NODELAY or SENDNOW or something). The categorisation will still be visible in your Sent Items folder, but the recipient won’t see it.
  3. Set the delay time (in minutes) and apply the rule; try it out with a blank, uncategorised mail to yourself and you should see it sit in the Outbox folder for a few minutes before being sent. Now try to send another message and set the category manually, and you should see it arrive quickly. To set the category on an clip_image009outgoing message, look in the message properties before hitting send – either from the Tags group in the ribbon, or File | Properties on the menu of the message window.

This is all very well if you remember to go in and set the category before you his send. If you regularly have an Outbox full of stuff waiting to go and you’re truly adventurous, you could add a Macro to Outlook to automatically flush the queue. Press ALT+F8 to get to the Macro settings; if prompted to run or create a macro, Create a new one called SendNow, paste the following into the code window:

Sub sendNow()

    Set CurrentFolder = Application.ActiveExplorer.CurrentFolder

    Set Application.ActiveExplorer.CurrentFolder = _

        Application.GetNamespace("MAPI").GetDefaultFolder(olFolderOutbox)

    Set omsgs = Application.ActiveExplorer.CurrentFolder.Items

        For Each omsg In omsgs

            omsg.DeferredDeliveryTime = Now() - 1

            If omsg.Categories = "" Then omsg.Categories = "NODELAY"

            omsg.Send

        Next

    Set Application.ActiveExplorer.CurrentFolder = CurrentFolder

End Sub

clip_image011After saving/exiting from the Macro editor, you might want to add a shortcut to your new clip_image013macro to the Quick Access Toolbar in the main Outlook window. When you add the command to the list on the right hand side of the dialog, you can modify the button to give it a snazzier icon and a name that means something.

clip_image015