How to Auto Forward an Incoming Email If It Is Not Read after Some Time in Outlook

Some users hope, if an incoming email is still not read since it has gotten into the mailbox for some time, Outlook can auto forward it to another email account. This article will show how to realize this.

Sometimes, when you are too busy, you may miss some important emails. Hence, perhaps you have configured and connected to another email account on your smartphone. In this case, you may hope that Outlook can auto forward the new incoming email to this account if it is still in unread status after some time. Now, in the followings, we will show you how to achieve it.

Auto Forward an Incoming Email If It Is Not Read after Some Time in Outlook

Auto Forward an Incoming Email If It Is Not Read after Some Time

  1. At the very outset, start your Outlook application.
  2. Then, in the main Outlook window, you ought to press “Alt + F11” keys to get access to Outlook VBA editor.
  3. Next, in the displaying “Microsoft Visual Basic for Applications” window, you have to find and open the “ThisOutlookSession” project.
  4. Subsequently, you need to copy and paste the following VBA code into such a project.
Private WithEvents objInbox As Outlook.Folder
Private WithEvents objItems As Outlook.Items

Private Sub Application_Startup()
    Set objInbox = Application.Session.GetDefaultFolder(olFolderInbox)
    Set objItems = objInbox.Items
End Sub

'Occurs when the new mail arrives in your Inbox
Private Sub objItems_ItemAdd(ByVal Item As Object)
    Dim objMail As Outlook.MailItem
    Dim objForward As Outlook.MailItem
    If TypeOf Item Is MailItem Then
       Set objMail = Item
       If objMail.Importance = olImportanceHigh Then
          'If the incoming email is still unread after 3 minutes, forward it
          Wait (180)
          If objMail.Unread = True Then
             Set objForward = objMail.Forward
             objForward.Recipients.Add ("")
          End If
       End If
    End If
End Sub

'Delay seconds
Function Wait(nSeconds As Integer) As Boolean
    Dim dCurrentTime As Date
    dCurrentTime = Now
    Do Until DateAdd("s", nSeconds, dCurrentTime) <= Now
End Function

VBA Code - Auto Forward an Incoming Email If It Is Not Read after Some Time

  1. After that, you ought to sign this code. Hit the “Tools” button in the menu bar. Then choose “Digital Signature” option. In the newly popup dialog box, follow the onscreen wizard to complete it.
  2. Later, you need to change macro settings to permit digitally signed macros.
  3. Finally, you should restart your Outlook application to activate this macro.
  4. From now on, every time when a new email arrives in the inbox, after several minutes, Outlook will auto check if the mail is still unread. If it is, Outlook will auto forward it to the predefined email address.

Retrieve Corrupt PST Data

Although Outlook is proficient in managing emails, contacts as well as schedules, it still cannot get rid of damage completely. Various factors could lead to Outlook corruption, such as abrupt shutdown and virus attacks, etc. Actually, in this case, Outlook inbox repair tool cannot be up to recovering PST data. Hence, taking aid of an external tool, such as DataNumen Outlook Repair, may be the unique way.

Author Introduction:

Shirley Zhang is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including fix sql and outlook repair software products. For more information visit

Comments are closed.