Unified inbox in Outlook for multiple email accounts: a simple hack



Written by: Uri Simonsohn (http://urisohn.com)
Last update: 2018 10 11


I have 5 different email accounts I use regularly and really want to be able to see them in one inbox.

Yes, I have heard of email forwarding, it's not what I want.  Keep them separate, reply from each, but single inbox is what I want.

 

I am not alone, this is an old and popular unfulfilled feature request (.htm)

 

I even switched to, and paid for, another email program "eM Client" (.htm). It's good, but it lacks important features (notably the spell check does not recognize language, and I write in English and Spanish).

 

So after a year or so with eM Client I switched back to Outlook and decided to figure out a fix.

I came across a couple existing solutions (.htm), but they don't fully deliver.

 

The solution:

I didn't find what I was looking, so I created it.
It requires "macros," but you can follow the steps below without knowing what that means

 

Step 1. In the Developer tab in Outlook click on Macros

1
(if you don't see the developer tab, here (.htm) is how to see it)

Step 2. We will create a macro (little program) and need to put a name for it, let's go with "unread_all", then click on create
image 21

Step 3. Copy paste the code below into the VBA window there

 
 

 

Sub unread_all()

    Dim myolApp As New Outlook.Application

        txtSearch = "read:no AND folder:inbox"

        myolApp.ActiveExplorer.Search txtSearch, olSearchScopeAllFolders

Set myolApp = Nothing

End Sub

 

Sub sent_all()

    Dim myolApp As New Outlook.Application

        txtSearch = "folder:sent AND (received:thisweek OR received:lastweek)"

        myolApp.ActiveExplorer.Search txtSearch, olSearchScopeAllFolders

Set myolApp = Nothing

End Sub

 

 

Sub inbox_recent()

    Dim myolApp As New Outlook.Application

        txtSearch = "folder:inbox AND (received:thisweek OR received:lastweek)"

        myolApp.ActiveExplorer.Search txtSearch, olSearchScopeAllFolders

Set myolApp = Nothing

End Sub

 

Then close the (VBA) editor

3.jpg

 

Step 4. We need to allow macros for them to run. Back in outlook now, so in the Ribbon, in the Developer tab, select Macro Security, and select to allow all
4

 

Step 5. Now we need a way to run the macro, will show you how to put it in the quick access bar and in the ribbon itself. First, quick access toolbar.

Right click on the ribbon and select "customize quick access"

5

 

Step 6. Select "Macros" in "Choose commands from", then select the program you just copy-pasted "Project1.unread_all", then "Add>>" then "Modify."

 

Step 7. You will see this menu, give the thing a name, "Unread (all)", and icon
8

 

Step 8. Now you will see in your quick access toolbar that folder icon


 

Click it, and you will see your unread emails for all your accounts in the same place.

 

Optional additional steps.

1)     I also have a button to see the unread emails across all accounts in the ribbon, see the last image above, the icon to the right that reads "Unread (all)" That calls the same macro

The process to the icon for the ribbon is analogous to that for the quick access toolbar. if you need help, there are plenty of resources online helping edit the ribbon.

 

2)     I also created macros to show email sent over the last two weeks, across all accounts, and the inbox (whether read or not) over the last two weeks. These macros are actually already in the code you-copy pasted, so if you are interested in them, just repeat the steps 6-8 for the other two macros that will appear in the list (Project1.inbox_recent) and (Project1.sent_recent).\\


<end>