A user with a Microsoft Exchange server mailbox wanted to prepare some messages to send later but didn't want to leave Outlook open or open it to send.
I want to schedule an email to send on the Exchange Server so that I can schedule emails to send while I’m on vacation without having to boot my laptop and open my email 1-2 times per day. I know how to do this in desktop Outlook, but you need to open Outlook on your laptop for this to work. Can I do this using Outlook on the web?
Deferred delivery is not supported in Outlook on the web. You can delay sending mail for a few seconds (to prevent accidental sends) but cannot configure a message to send later, as you can in Outlook on Windows.
When you defer sending a message, in either online or cached mode, Outlook will always show the Sent time as the time you pressed Send, not the time the message was sent by Exchange.
Because you are using a Microsoft Exchange mailbox (either on-prem or Office 365 Exchange online) you can send messages later, with Outlook closed, as long as you can set up the account in Outlook desktop using Online mode.
When you use online mode, the deferred messages are submitted to the Exchange message queue and held until the scheduled time. (Outlook doesn’t have a local cache when you use online mode, so it can’t hold them at the client.)
This only works if you have the account set up in Outlook in online mode. It will not work with Outlook.com accounts as they do not support online mode.
By default, Outlook sets Exchange accounts up in cached mode. You can check in File, Account Settings: open the account settings dialog, and double click on the account. Cached will be ticked by default when you set up the account, untick it to drop to online mode. The status bar should say 'Online', when you have cached mode turned off.
Before you disable cached mode: if you have the messages already in the Outbox move them to Drafts folder first so they will sync to the server. After you switch to online mode, go to the Drafts folder and Send the messages.
You won't see the messages if you look in Outlook on the web, so you just have to trust Exchange. To verify it is working, create an email to email address you can check on your phone. Defer it for 15 min from now and click Send. Close Outlook. If you receive the message in 15 min, it’s set up properly.
If you don't use Outlook for Windows or can't use Online mode, you can vote for (and comment on) this suggestion at Outlook uservoice: Ability to Schedule/Delay Sending Emails 365 ONWEB
i need to delay a specific mail domain for 8 hours in outlook. i have this code.But it is not working. can you gaid me please.
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
DelayTime = DateAdd("h", 8, Now)
Dim Mail As Outlook.MailItem
If TypeOf Item Is Outlook.MailItem Then
Set Mail = Item
If Mail.To "*saikumarm@domain*" Then
Mail.DeferredDeliveryTime = DelayTime
End If
End If
End Sub
(For my prior message, I am Microsoft Exchange, cached exchange mode)
This question is different but hope you can ease my suffering. I use Outlook 365 on a desktop (Windows 10). I take option "delay delivery" and set a time for "do not deliver before". I hit send. It enters Outbox. So far great, Yet if I hibernate (leaving Outlook continuously open), and resume following the "delay-until time", with Outlook still running (in fact, sitting on the Outbox list), it never sends - sits forever in Outbox, and the "defer until" column shows a time in the past. I have one such example that has been sitting in Outbox for 6 months. The "defer until" time has long past. I have even restarted several times but it is silently ignored - no warning, no sending. It will sit there forever. By the by way I have never received a message saying that I have unsent messages; even when I do a machine restart. Note I hibernate for weeks at a time without restarting. When I do the rare restart, nothing happens either. Note that my restarts have not been while a delay is still not up to the defer until time - by that I mean that I've only restarted when… Read more »
Sorry, i neglected to mention that I am Microsoft Exchange, cached exchange mode. (I am the same user BTW) BUT - I unclicked that, and closed and reopened Outlook as it directed, and now the Outbox is just empty. The 6 month old message, plus the one I sent last night to go out at 7 A.M. (and hibernated until 8 A.M.) are just gone. Not in Outbox, not Sent, not Deleted, and not received by the recipient. Nor in Search with F3; nor in any search folder. Hitting F9 changes nothing. So I clicked cached mode to turn it back on, and closed and reopened Outlook as it directed, but it looks like they're still gone. (BTW, a minor curious thing, the search term that I entered into F3 is now gone after restart with cached mode set. F3 search terms normally persist for at least months) **UPDATE: after several minutes they reappeared in Outbox.** Everything seems to look identical now to before. So the condition remains: when I am hibernated at the time that "defer until" occurs, and resume from hibernation, messages sit forever in Outbox (except for briefly disappearing altogether when I tried running without cached Exchange… Read more »
Sorry, the edit period expired. I incompetently did not follow your advice to move the messages to Draft before changing the Cache setting. So the sub-comment I'm replying to is partially invalid.
Summarizing the prior comment:
1. Messages should be moved to Draft prior to changing Cache setting, but my failure apparently was not fatal; messages self-restored to Outbox.
2. Turning off cache mode and restarting did not cause overdue Outbox items to send. Turning it back on and restarting did not either.
3. I have not tried initiating a delayed send message while cache mode is OFF. I can try that next. Moreover, should I just turn it off forever without disadvantage? If that's what's keeping delayed send from working I feel like doing that.
Thanks and sorry for the edits.
I have spent some time getting more familiar with Outlook settings and what mine are set to, and reread your article more carefully and I seem to conclude that delayed send is useless when set to Cached mode; and if I try to do so anyway, I should copy Outbox items to Draft, restart without Cached mode, and resend; or I should just have cached mode off before I even try to send delayed. Not only is either way unenjoyable and requiring memorization of the process, but for all I know you need to STAY off of Cached mode until the messages are sent - is that correct? And finally then I would turn Cached mode back on? I gather that I COULD just abandon Cached Exchange Mode entirely, but I like the comfort of having an OST file that I can back up, and even make periodic copies of it (in case something is lost between backups and the new backup overwrites, so permanently lost). I work 100% on this desktop, and Internet is on 100%, so I don't need Cached mode in that regard, but I still like the idea of having a local OST file, and I… Read more »
>> conclude that delayed send is useless when set to Cached mode
More or less. I prefer using a macro to send the messages at the appointed time.
The method in this article uses an appointment - you write the message in the body, when the reminder first, outlook sends it.
This one sends drafts - the subject in the reminder is the subject of the draft
https://www.slipstick.com/developer/send-email-outlook-reminders-fires/
I should have one somewhere that sends drafts based the time and date in the subject - it removes the time from the subject before sending. It checks the drafts folder on a schedule so the deferment won't be exact - if you have 2:15 in the subject and the last hourly check was at 2:10, it will be sent at 3:10.
Ah... here it is. https://www.slipstick.com/developer/scheduling-drafts-in-outlook/
Hi Diane - great article!
Is there any way to monitor these messages in Exchange Message Queue?
I've tried the PowerShell cmdlet "Get-Queue", but haven't been able to find the delayed messages. The "MessageCount" in all of our DBs is at zero, even if I have pressed "Send" in a delayed message in Outlook.
When they are finally sent, I got my hands on them using the "Get-MessageTrackingLog".
No, not to my knowledge, but i will double check.
1. Use Outlook 365 in cached mode.
2. Compose an email.
3. Press a special "delayed send" button with VBA code attached.
4. The VBA code will prompt the user to select a day/time to send the message.
5. The message would then be treated as an "online" message and placed into the drafts folder so that the Microsoft Exchange server would control the delayed sending and not the client.
Is this possible?
When you use cached mode, the message is held in the Outbox on your own computer, its not held in Exchange's outgoing que. You need to use online mode, which is only possible in business accounts.
You can use VBA to set the delay - but its going to be held in Outlook until the appointed time.
A VBA sample showing how to set the delay time is here:
https://www.slipstick.com/developer/set-a-default-do-not-deliver-before-time/
AFAIK, the functionality exists in the Outlook add-in named "Boomerang".
How they handle it in chaced mode but qued in Exchange server?
They hold it on their servers, not in Exchange, and release when it's time.
It does not wok. It's a petty that such a useful feature is not available in Outlook when it works so flawlessly in gmail...
Outlook has two delay options - up to 120 minutes using a rule or you can delay mail to a set time (like next Friday). As far as I know, google only delays mail for up to 30 seconds, should you change your mind about sending it.
A rule holding mail for 1 minute replicates the gmail feature.
https://www.slipstick.com/outlook/email/delay-sending-a-message/