Я немного погуглил решение для vba (Visual Basic для приложений) и нашел его:
http://www.vbforums.com/showthread.php?t=574491
Это решение предназначено для Outlook 2003, но оно также может работать на более новых версиях Outlook.
Редактировать:
Вот код VBA, который должен быть помещен в Outlook.
Public Sub CheckSendTime()
Dim obj As Object
Dim Mail As Outlook.MailItem
Dim WkDay As String
Dim MinNow As Integer
Dim SendHour As Integer
Dim SendDate As Date
Dim SendNow As String
'Set Variables
SendDate = Now()
SendHour = Hour(Now)
MinNow = Minute(Now)
WkDay = Weekday(Now)
SendNow = Y
'Check if Before 8am
If SendHour < 8 Then
SendHour = 8 - SendHour
SendDate = DateAdd("h", SendHour, SendDate)
SendDate = DateAdd("n", -MinNow, SendDate)
SendNow = N
End If
'Check if after 7PM
If SendHour > 19 Then 'After 7 PM
SendHour = 32 - SendHour 'Send a 8 am next day
SendDate = DateAdd("h", SendHour, SendDate)
SendDate = DateAdd("n", -MinNow, SendDate)
SendNow = N
End If
'Check if Sunday
If WkDay = 1 Then
SendDate = DateAdd("d", 1, SendDate)
SendNow = N
End If
'Check if Saturday
'If WkDay = 7 Then
' SendDate = DateAdd("d", 2, SendDate)
' SendNow = N
'End If
'Send the Email
Set obj = Application.ActiveInspector.CurrentItem
If TypeOf obj Is Outlook.MailItem Then
Set Mail = obj
'Check if we need to delay delivery
If SendNow = N Then
Mail.DeferredDeliveryTime = SendDate
End If
Mail.Send
End If
End Sub
Может быть, вам нужно настроить время.