We help IT Professionals succeed at work.

Check out our new AWS podcast with Certified Expert, Phil Phillips! Listen to "How to Execute a Seamless AWS Migration" on EE or on your favorite podcast platform. Listen Now


remove read receipts from incoming mail

mdbdev asked
Medium Priority
Last Modified: 2007-12-19
Hello all,

Im just wondering if anyone has some ideas on how to remove read receipts from incoming mail via vba and maybe the application_newmail event?

We have a general inbox that autoforwards emails to everyone on the team and then moves the mail to the deleted items folder. Problem comes in when we empty the deleted items folder, it shoots back an email to users who sent the item with a read receipt that it was deleted without read.

I tried marking the mail as "read" with vba, but it still sends the deleted without read notice.

Thanks in advance

Watch Question


sorry, i should have mentioned this is outlook 2000
Top Expert 2007

I've just about given up with OL coding... :(
But, I did find this - from Sue Mosher (she's the OL queen!).
The article references how to process receipts..http://www.winnetmag.com/Windows/Article/ArticleID/20396/20396.html

You might also check this forum...

Hope that helps.  Good luck!

If it was me, I'd take the easy route:  Wait until the I had to empty out the deleted items, turn off the processing of receipts etc at the server level (say, after work hours), clean, re-enable. But that's me :-P


Hmm see why you have just about given up on OL coding, very confusing. Makes no sense. I am going to look at this some more in the AM when my mind is fresh.

Mob, thanks for the post but we are a 24/7 operation with several thousands users spread across the state (about to become closer to 10,000)

Top Expert 2007

mdbdev - no sure what your setup is exactly or precisely what your requirements are here, but...
Sounds like you have like a help desk email box that auto-forwards the mail to the team members.

If that is accurate, I might propose three solutions for you:

a) Set up a subordinate rule (sounds like this is what you have already) to not just delete, but permanently delete, after the message is sent.
I think it's worded - check for messages after they are sent, where <recipient> is in the To field, permanently delete - or something to that effect.

b) Use autoarchiving on your inbox or deleted items.  Set it to autoarchive as frequently as once a day or week if need be.  The data file can be deleted periodically if no longer needed.

c) Simply create a group mailbox with all the members in it.. (not sure if there is some limitation on this since it's not in place already).

Post back if you need help implementing any of these options...

Good luck.



You are correct on your guess. This is a help desk inbox that forwards to team members via a rule. It was being moved to deleted items, but I changed it to move to an archive folders. Here's is the problem:

When/if the email is deleted from the helpdesk inbox (unless its been opend there). It sends back a read receipt that it was deleted without opened (we opened it but in our own mailbox not the helpdesk).

Per your comments above:

a) I would think the subordinate rule would still generate the read receipt!?!?!

b) Thought of autoarchiving (I think it might be better to save these emails anyways) but you cant share a .pst file with multiple users at the same time. I did a bit of experimenting because it didnt seem logical that a jet DB wiuldnt be able to be shared. What happenes is the pst attributes are set to Read-Only when someone opens the folder using the pst file

c) group mailbox - not sure what you mean

Thanks for the post

Top Expert 2007

Click Tools/Options
Email Options/Tracking Options
Make sure that
Process requests and responses on arrival
Process receipts on arrival
are both checked.
Also, check
After processing, move receipts to Deleted Items

Lastly, select "Never send a response" at the bottom for how to handle read receipts...


>>>>> c) Group mailbox

In the company, I am working for, we manage the shared mailboxes this way:
Shared Mailbox
Shared mailboxes master, xxxx has been opened.

Shared mailboxes will allow you to easily process problems and requests if the following conditions are met:

 Never answer a mail in a shared mailbox using your own name: you must use From field and fill it with the shared mailbox name, a shared mailbox is dedicated to a function, not to users. (If From field is not visible when replying a mail, select View in the menubar and add From field, must be done once on each client computer accessing the shared mailbox). If you do not so, people will write directly to you and sharable information will be lost. If it happens, reply to the sender that his request has been forwarded to master, xxxx mailbox which exclusively handles this kind of request.
 Always Reply to All when replying a mail in a shared mailbox: any user accessing the mailbox can follow requests and answers, it saves a lot of time and avoid conflicting answers.
 A mail which has not been replied should always stay in unread status: you will be therefore able to quickly find pending requests.
 If you open an item and do not process the request, mark it back as unread: this will avoid loss of request, an unread item is, by definition, unprocessed.
 Configure Outlook with preview page window visible (View/Preview Page checked) in shared mailboxes and read it in this window: this will not change the unread status if preview pane options are set as follow:  Mark messages as read in preview window unchecked  
 Mark items as read when selection changes unchecked
(Right-Click Preview pane banner and select Preview Pane Options...)  
Adding a shared mailbox to your Outlook profile:
 Tools/Services/  Select Microsoft Exchange Server  
 Tab Advanced  Click on Add: write master, xxxx then OK  
 Shared mailbox is  visible in Folder list  

A shared mailbox can also be accessed through Netscape:

 Nestcape Configuration (if necessary)
  Incoming mail server type : IMAP
  Incoming mail server : IP_ADDRESS_OF_SERVER
  UserID : yourNTAccount/theSharedMailboxAlias
  Outgoing mail server : IP_ADDRESS_OF_SERVER
  UserID : yourNTAccount/theSharedMailboxAlias
 If more than one shared mailbox must be read, ask you system admin to add aliases in DNS in such a way you can use unique names for the exchange server where resides the shared mailbox.  

If the mailbox is on exchange server 2000, From field will be automatically filled withe the shared mailbox name

If ex5.5: crate a NT group with allowed members accounts and add this group as user in Permissions tab of the mailbox

If ex2k: create a global security group with members accounts. Add this group in Mailbox Rights pane of the shared mailbox. Select the group and select Take Ownership

PS: Before emptying the mailbox, Rightclick the folder, Marl All as Read should avoid the deleted before read notification
PPS: 10.000 users are the senders or the users where mails are forwarded? ;-)


g morning all,

Here's some code that works (somewhat)

Private Sub Application_NewMail()

Set msOutlook = Application.GetNamespace("MAPI")
Set Inbox = msOutlook.GetDefaultFolder(olFolderInbox)
Set Archive = Inbox.parent.Folders("Archive")

For Each thisItem In Inbox.Items
' Dont bother with already read ones.
If thisItem.UnRead Then
'Mark it as read.
thisItem.Move Archive
End If
'Next One

For Each Item In Archive.Items
' Dont bother with already read ones.
If Item.UnRead Then
' Mark it as read.
Item.UnRead = False
End If
' Next one.
Next Item

End Sub

Here's the problem: This works with my inbox. I also have the following mailbox opened: DPH-BHM Helpdesk. How do I change the code to access that mailboxes "Archive" or inbox folder? Can I?

Thanks again

Unlock this solution and get a sample of our free trial.
(No credit card required)


While I  have not gtot the code in stefri's links to work to date, I dont think it is code.

Thanks for the help everyone.

Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.


Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.