Email delaying in Outlook

Despite all the prophecies of doom surrounding slack and discord, e-mail as an asynchronous communication medium is one of the world's dominant business communication media. In addition to Merlin Mann's Inbox Zero, there are numerous other strategies for dealing with the daily flood of e-mails, including e-mail delaying, i.e. delayed delivery of e-mails.

If you want to free up a little time in your everyday life, the automatic delay of e-mails is recommended. this automatically shifts the replies into the future and at the same time you can deliberately slow down your personal reply speed. the function also ensures that you can still retrieve e-mails sent by mistake to customers or the boss for a certain period of time.

For this project, I present three variants of how you can implement what you want. In the first variant, we create an Outlook rule (in the case of Exchange server-side) (for all e-mail accounts used):

This procedure delays all outgoing messages, but unfortunately only a value range of 1-120 minutes is possible, so that e-mails cannot be delayed by more than 2 hours.

If you want to extend the time and also have more control, you can use the expandability of Outlook with an individual VBA script . To do this, open the macro editor (ALT + F11), move to the "ThisOutlookSession" module and insert one of the following scripts (the changes are also active without explicit saving and without restarting Outlook):

In this example, all emails are automatically delivered at 6:00 p.m.:


For example, if you want to delay the sending time of each email by 8 hours, the following script will do it:


And if you want to send every email during Christian times in the morning on the next working day, you can use the following:


If you want to be asked for a delay before each sending, you can also display a dialog before sending, asking whether you want to delay or not. Also helpful: A click on "Cancel" stops the sending of the e-mail at the last moment.


E-mails that have already been delayed automatically end up in the outbox of the respective e-mail account from which they were sent until they are sent. Important: They are only sent when Outlook is open. If you want to get this out of there in exceptional cases, you move the email back to drafts, deactivate the checkmark for "Delay delivery until" in the email properties via Options> Delay delivery and send it again.

In order to make all the above mentioned VBA scripts work, you make your own, digitally signed VBA module from the code in "ThisOutlookSession". In order to test the functions temporarily, you can (preferably only for a short time) allow all macros under Settings > Trust Center > Trust Center Settings... > Allow Macro Settings:

If you want to combine the advantages of the first variant (server-side sending) and the second variant (freer timing), Boomerang for Outlook with the "Send Later" function is recommended, for example. This service offers the delaying of 10 e-mails per month for free and works reliably.