Tip: Other languages are Google-Translated. You can visit the English version of this link.
Log in


How to sort and group by sender domain in Outlook?

Normally, we can easily arrange all email messages by sender, categories, subjects, size, etc. in Microsoft Outlook. However, it seems impossible to sort or group email messages by sender domains, because there is no Sender domain field for email messages at all. Here I will introduce a VBA code to help you add a Domain column for email messages, then sort and group the email messages by the sender domains easily in Outlook.

Kutools for Outlook: 100+ New Advanced Tools for Outlook.
Office Tab: Enable Tabbed Editing and Browsing in Office, Just Like Chrome, Firefox, IE 8/9/10.
Classic Menu: Bring Old Menus and Toolbars Back to Office 2007, 2010, 2013, 2016 and 2019.

To sort and group email messages by sender domains in Microsoft Outlook 2013 and 2010, please do as following:

Step 1: Open the mail folder where you will sort all email messages by sender domains.

Step 2: Turn off the Reading Pane with clicking the Reading Pane > Off on the View tab.

Step 3: Go ahead and click the Add Columns on the View tab.

Step 3: In the Show Columns  dialog box, click the New Column button.

Step 4: In the New Column dialog box, type the Domain in the Name box, and keep the Text selected in the both Type box and Format box, at last click the OK button.

Step 5: Now you get back to the Show Columns dialog box, select the Domain in the Show these columns in this order box, move it below From item, and click the OK button.

Step 6: Now you go back to the opening mail folder, select all email messages with pressing the Ctrl + A keys at the same time.

Step 7: Press the Alt + F11 keys in a meanwhile to open the Microsoft Visual Basic for Applications window; then click the Insert > Module, next paste the following VBA code into the module.

VBA: Sort and Group by sender domain

Sub ListSelectionDomain()
Dim aObj As Object
Dim oProp As Outlook.UserProperty
Dim sDomain
On Error Resume Next
For Each aObj In Application.ActiveExplorer.Selection
Set oMail = aObj
sDomain = Right(oMail.SenderEmailAddress, Len(oMail.SenderEmailAddress) - InStr(1, oMail.SenderEmailAddress, "@"))
Set oProp = oMail.UserProperties.Add("Domain", olText, True)
oProp.Value = sDomain
End Sub

Step 8: Run this VBA code with pressing the F5 key or Run button in the Toolbar.

Step 9: Now each sender’s domain is extracted and filled into the Domain column.

A. To sort the email messages by sender domains, just click the Column header of Domain at the top of all email messages;

B. To group the email messages by sender domains, just right click the Column header of Domain, and select the Group By This Field from the drop down list. See screen shot below:


(1) This VBA code works well in Outlook 2013 and 2010, but doesn’t work in Outlook 2007.
(2) You can save the custom view easily with How to save and copy view settings to other folders in Outlook?

arrow blue right bubbleRelated Article

How to view senders’ domain in mail list in Outlook?


Recommended Productivity Tools

shot kutools outlook kutools tab 1180x121
shot kutools outlook kutools plus tab 1180x121

Kutools for Outlook - More than 100 Advanced Functions for Outlook, Improve 70% Efficiency For you

  • Complicated and repeated operations can be done a one-time processing in seconds.
  • Forward multiple emails individually with one-click, and auto forward by rules.
  • Auto CC/BCC every sending email and easy for customizing rules, and auto reply without requiring exchange server.
  • Powerful junk emails filter, remove duplicate emails, reply with attachment, bunch of one-click operations, and so on...
  • 60-day unlimited free trial. 60-day money back guarantee. 2 years free upgrade and support. Buy once, use forever.
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Rajiv · 11 months ago
    Thanks a lot for this article. It took ages to populate the Domain field values for around 10000 mails, in Outlook 2013. The sadder thing is that it does not sort the mails on the Domain field, either descending or ascending. I don't know what is wrong, some update in Outlook disables this, or because the number of mails are huge. The Domain values are displayed, but not sortable or groupable. Kindly help me fix this, thanks.
  • To post as a guest, your comment is unpublished.
    Cecilia Hayes · 1 years ago
    I'd like to do the same thing, but for the eMail Address. What values should be adjusted in the above code?
  • To post as a guest, your comment is unpublished.
    Alex · 1 years ago
    Getting an error in Outlook 365 (1705) "You cannot sort by this field."
  • To post as a guest, your comment is unpublished.
    Hakan · 2 years ago
    thanks for your effort, however, domain field does not behave like From field. When you group by domain and sort by another field, domain field disappears. any workarounds ?
  • To post as a guest, your comment is unpublished.
    Barbs · 2 years ago
    In the new Outlook 2016 when you sort inbox by sender it then creates headers. I absolutely hate it. How do i remove the useless headers? It never used to happen before.