How to change the default time for delay delivery in Outlook?
When enabling the delay delivery option (the Do not deliver before option in the following screenshot) for an email in Outlook, the sending time is set to 5:00 PM by default. Supposing you are working late at night and don’t want others to know that you are working overtime. You need to enable the delay delivery option for your emails before sending them. After enabling the option, you need to change the default sending time manually. Otherwise, the email will be sent after 5:00 PM the next day. Is there any way to change this default delivery time?
This tutorial provides a VBA code to help you change the default time for the delay delivery option in Outlook.
Change the default time for delay delivery in Outlook with VBA code
You can apply the following VBA code to change the default time for the delay delivery option in Outlook.
In the following VBA code:
You can specify two times: the delay delivery time and the delay delivery option enabling time.
For example, you set the delay delivery time to 07:30 AM and set the delay delivery option to be enabled automatically after 5:30 PM. When you send an email during 07:30 AM - 5:30 PM, the email will be sent directly. If an email is sent during 5:30 PM – 07:30 AM, it will be scheduled to send after 07:30 AM the next day.
Please test the script as follows.
1. Launch your Outlook, press the Alt + F11 keys simultaneously to open the Microsoft Visual Basic for Applications window.
2. In the Microsoft Visual Basic for Applications window, double click on Project1 > Microsoft Outlook Objects > ThisOutlookSession to open the ThisOutlookSession (Code) window, and then copy the following code into this code window.
VBA code: change the default time for delay delivery in Outlook
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
'Updated by Extendoffice & EWP 20230602
Const xDelayTime As String = "07:30:00" 'The delay delivery time of emails
Const xCompareTime As String = "17:30:00" 'The time to enable the delay delivery option
Dim xMail As Outlook.MailItem
Dim xWeekday As Integer
Dim xNowTime As String
Dim xIsDelay As Boolean
Dim xRet1 As Integer
Dim xRet2 As Integer
On Error GoTo xError
If (Item.Class <> olMail) Then Exit Sub
Set xMail = Item
xWeekday = Weekday(Date, vbMonday)
xNowTime = Format(Now, "hh:nn:ss")
xIsDelay = False
xRet1 = StrComp(xNowTime, xDelayTime)
xRet2 = StrComp(xNowTime, xCompareTime)
If xRet1 = xRet2 Then
xIsDelay = True
End If
If (xRet1 = -1) And (xRet2 = -1) Then
xMail.DeferredDeliveryTime = Date & " " & xDelayTime
Else
If ((xWeekday = 5) And xIsDelay) Or (xWeekday = 6) Or (xWeekday = 7) Then
xMail.DeferredDeliveryTime = (Date + (5 - xWeekday + 3)) & " " & xDelayTime
ElseIf xIsDelay Then
xMail.DeferredDeliveryTime = (Date + 1) & " " & xDelayTime
End If
End If
Exit Sub
xError:
MsgBox "ItemSend: " & Err.Description, , "Kutools for Outlook"
End Sub
Notes:
3. Save the code and press the Alt + Q keys to close the Microsoft Visual Basic for Applications window.
From now on, when you send an email during 07:30 AM - 5:30 PM, the email will be sent directly. If an email is sent during 5:30 PM – 07:30 AM, it will be scheduled to send after 07:30 AM the next workday.
Related articles
Change Default Reminder Time Of All-Day Events In Outlook
Normally, the default reminder time of all-day event is 18 hours in Outlook 2007/2010 and 0.5 day in Outlook 2013. Sometimes, the default reminder time of all-day event may not agree with your work schedule. Here we will introduce the way to change the default reminder time of all-day events in Microsoft Outlook.
Change The Default Follow Up Time In Outlook
As we know, when we add a follow up reminder for an email in Outlook, the default follow up time is 4:30 PM (or other time depending on your working hours). However, you may want to change the default follow up time, and let it remind you at the beginning of working hours, such as 9:00 AM. In this article, I will show you how to change the default follow up time in Outlook.
Change Default Archive Location In Outlook
By default, Outlook has default location for the archive files. Besides the default location, you can set you own archive location for your archive files. In this tutorial, we will show you how to change default archive location in Outlook in details.
Change Default Attachment Saving Location In Outlook
Have you fed up with finding the attachment location you have specified every time when launching Outlook? In this tutorial, we will show you how to change the default attachment location. After that, the specified attachment saving folder will be opened automatically every time you save the attachments even though you restarting the Outlook.
Change The All-Day Event Default To Busy In Outlook
By default, Outlook sets the status of appointments and meetings to “Busy”, but all-day events to “Free” (see screenshot below). You need to manually change the Show As status to Busy each time you create an all-day event. To change the default show as status of all-day events to Busy, the article provides you with two methods.
Best Office Productivity Tools
Breaking News: Kutools for Outlook Launches Free Version!
Experience the all-new Kutools for Outlook FREE version with 70+ incredible features, yours to use FOREVER! Click to download now!
📧 Email Automation: Auto Reply (Available for POP and IMAP) / Schedule Send Emails / Auto CC/BCC by Rules When Sending Email / Auto Forward (Advanced Rules) / Auto Add Greeting / Automatically Split Multi-Recipient Emails into Individual Messages ...
📨 Email Management: Recall Emails / Block Scam Emails by Subjects and Others / Delete Duplicate Emails / Advanced Search / Consolidate Folders ...
📁 Attachments Pro: Batch Save / Batch Detach / Batch Compress / Auto Save / Auto Detach / Auto Compress ...
🌟 Interface Magic: 😊More Pretty and Cool Emojis / Remind you when important emails come / Minimize Outlook Instead of Closing ...
👍 One-click Wonders: Reply All with Incoming Attachments / Anti-Phishing Emails / 🕘Show Sender's Time Zone ...
👩🏼🤝👩🏻 Contacts & Calendar: Batch Add Contacts From Selected Emails / Split a Contact Group to Individual Groups / Remove Birthday Reminders ...