How to Batch Delete All Read Receipts in Your Outlook

So as to confirm that recipients have read your email, you can request read receipt when composing the email. In this situation, your mailbox may be stuffed with such read receipts. Now, this post will teach you how to batch delete them permanently.

After reading the article “How to Batch Delete All Delivery Receipts in Your Outlook“, you may think about the approach to bulk delete all read receipts. In fact, the manifest difference between the two kinds of receipts is their subjects. Delivery receipt contains “Delivered” in subject but read receipt contains “Read” instead. Therefore, you can use the same way to batch delete all read receipts. In the followings, we will teach you the concrete steps in detail.

Batch Delete All Read Receipts

  1. At the outset, start your Outlook.
  2. Then, go to Outlook VBA editor via “Alt + F11” according to “How to Run VBA Code in Your Outlook“.
  3. Next, in the new window, open an empty module and put the following code into it.
Dim objOutlookFile As Outlook.Folder

Sub BatchDeleteAllReadReceipts()
    Dim objStore As Outlook.Store
    Dim objFolder As Outlook.Folder
    Dim lTotalCount As Long
    lTotalCount = 0
   'Process all Outlook files
    For Each objStore In Outlook.Application.Session.Stores
        Set objOutlookFile = objStore.GetRootFolder
        For Each objFolder In objOutlookFile.Folders
            If objFolder.DefaultItemType = olMailItem Then
               Call ProcessFolders(objFolder, lTotalCount)
            End If
    'Prompt you of the results
    MsgBox lTotalCount & " read receipts are deleted!", vbInformation + vbOKOnly
End Sub

Sub ProcessFolders(ByVal objCurrentFolder As Outlook.Folder, lCount As Long)
    Dim i As Long
    Dim objDeliveryReceipt As Outlook.ReportItem
    Dim objSubfolder As Outlook.Folder
    Dim objDeletedItems As Outlook.Items
    Dim objItem As Object
    For i = objCurrentFolder.Items.Count To 1 Step -1
        'Find read receipts
        If (TypeOf objCurrentFolder.Items(i) Is ReportItem) And (Left(objCurrentFolder.Items(i).Subject, 5) = "Read:") Then
           Set objDeliveryReceipt = objCurrentFolder.Items.Item(i)
           lCount = lCount + 1
           'Permanently delete them
           Set objDeletedItems = objOutlookFile.Folders("Deleted Items").Items
           For Each objItem In objDeletedItems
               If (TypeOf objItem Is ReportItem) And (Left(objItem.Subject, 5) = "Read:") Then
               End If
         End If
    'Loop subfolders recursively
    If objCurrentFolder.Folders.Count > 0 Then
       For Each objSubfolder In objCurrentFolder.Folders
           Call ProcessFolders(objSubfolder, lCount)
    End If
End Sub

VBA Code - Batch Delete All Read Receipts

  1. After that, click into the first subroutine.
  2. Finally, press “F5” key button.
  3. At once, the macro will work to delete all read receipts from your Outlook.
  4. When it finishes, you will get a prompt about the result, like the screenshot below.Prompt of Results
  5. At present, you can check your mail folders. All read receipts have been gone.Read Receipts Have Been Gone

Defend Outlook Data

Although Outlook file is admittedly susceptible to corruption, we can take actions to safeguard it. For example, we should keep Outlook file in small size, protect it from malicious factors and back it up on a regular basis. Last but not least, you’d better prepare a potent external PST repair tool, like DataNumen Outlook Repair. It will make great impacts on repairing corrupt Outlook file.

Author Introduction:

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

One response to “How to Batch Delete All Read Receipts in Your Outlook”

Leave a Reply

Your email address will not be published. Required fields are marked *