Read Receipts Is a Very One-time Email Feature

I haven't thought about email read receipts for years. It'southward a very old e-mail feature that goes back to the days when unreliable SMTP and 10.400 connections linked organizations together and y'all never quite knew if email got through to its destination. The reliability of figurer networks today ways that read receipts are less of import, or maybe it's just that other communication methods take replaced some email traffic, like Teams. The introduction of read receipts for Teams in early 2020 doesn't count because the read receipt for chats is more of a "seen" indicator than a message returned to a sender to confirm that an addressee has opened an email (Figure one).

A read receipt comes back to confirm a recipient has read a message
Figure ane: A read receipt comes back to confirm a recipient has read a message

Helping a Police Chief

Which brings me to a asking from an Part 365 for IT Pros reader. Apparently, a police force master is sick and tired that their email sent to some recipients is non being responded to. They want to know when the addressees open the letters he sends. The asking was to be able to turn on automated read receipts for mailboxes and disable the power of users to change the setting.

Read receipt is a message option, like delivery receipt (confirming the delivery of a message to a mailbox). When set, the read receipt shows up in the message properties every bit a Disposition-Notification-To header with the return address to receive the read receipt (Figure 2). A blast from the past EHLO blog post from 2011 explains more than.

The Disposition-Notification-To message header holds the person to receive the read receipt
Figure ii: The Disposition-Notification-To message header holds the person to receive the read receipt

The presence of the Disposition-Notification-To header is what prompts clients to bank check if they should ignore the request, ship the receipt automatically, or ask the user if they'd like to send the receipt. The immediate problem in satisfying the user request is that Exchange Online considers read receipts to be a client-side function. In other words, the action to respond to the sender is invoked when a recipient uses a client to open a message with a read receipt requested. Clients have dissimilar settings to control how to respond.

OWA Read Receipt Settings

Take OWA for instance. It's easy to configure the user settings for read receipts through the Message treatment department in OWA settings (Effigy 3).

Read receipt options in OWA settings
Figure three: Read receipt options in OWA settings

There's too an Substitution Online PowerShell cmdlet to exercise the job. For instance, let'due south assume that we want a fix of users to e'er send read receipts when requested. This code uses the CustomAttribute12 property to concord the value "RR" to indicate that a mailbox should be in the set. We tin use a server-side filter to find the mailboxes and call the Set-MailboxMessageConfiguration cmdlet to update the read receipts setting.

# Find mailboxes to update so update their read receipt setting to always transport read receipts [array]$Mbx = Go-ExoMailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited -Filter {CustomAttribute12 -eq "RR"} If ($Mbx.Count -eq 0) {Write-Host "No mailboxes found"; break} ForEach ($One thousand in $Mbx) {    Write-Host "Setting mailbox read receipt configuration for" $1000.DisplayName    Set up-MailboxMessageConfiguration -Identity $Chiliad.UserPrincipalName -ReadReceiptResponse AlwaysSend }              

Using RBAC to Remove Read Receipt Settings from OWA

Although administrators tin update user mailbox settings to command read receipts, it does nothing to stop users changing the read receipt options through OWA settings. To cake that happening, we need to remove the read receipt options from the GUI. Exchange Online has a well-developed role-based admission control (RBAC) system to command features available to users. RBAC works through the user role assignment policy attack user mailboxes. These policies enable or disable features by controlling the cmdlets bachelor to users. For instance, I've written in the past almost how to apply RBAC to terminate people updating their OWA autosignature.

To stop users irresolute the read receipt setting, nosotros need to:

  • Create a new RBAC role based on the regular fix of user options.
  • Remove the entry in the role for the cmdlet used to update read receipt settings (Set-MailboxMessageConfiguration).
  • Remove the entry in the office for the cmdlet used to fetch add together display the read receipt settings (Go-MailboxMessageConfiguration).
  • Create a new user role assignment policy containing the roles commonly granted to users with the exception that we supercede the base options with the edited version which blocks the ability to update the read receipt settings.

All of this sounds complicated, but it's a system that worked well since its introduction in Exchange 2010. Hither's the PowerShell code to do the piece of work listed above:

New-ManagementRole MyBaseOptions-NoRR -Parent MyBaseOptions  Ready-ManagementRoleEntry MyBaseOptions-NoRR\Gear up-MailboxMessageConfiguration -Parameters ReadReceiptResponse -RemoveParameter  Remove-ManagementRoleEntry MyBaseOptions-NoRR\Go-MailboxMessageConfiguration  New-RoleAssignmentPolicy -Proper noun PolicyWithNoRR -Roles MyContactInformation, MyRetentionPolicies, MyMailSubscriptions, MyTextMessaging, MyVoiceMail, MyDistributionGroupMembership, MyDistributionGroups, MyProfileInformation, MyBaseOptions-NoRR -Clarification "User Role Assignment Policy to block users updating read receipt settings"              

The last thing to do is to assign the user role assignment policy to the mailboxes we want to block. This is done with the Set-Mailbox cmdlet:

Set-Mailbox -Identity Chris.Bishop -RoleAssignmentPolicy PolicyWithNoRR

Thirty minutes or so afterward, the new policy will take outcome. Y'all'll know that information technology works if you go to OWA settings and don't see the options to update the read receipt settings (Figure iv).

The read receipt option is removed from OWA settings by the user role assignment policy
Figure 4: The read receipt selection is removed from OWA settings past the user function assignment policy

To bring the solution together, you tin add the Fix-Mailbox command to the lawmaking described above to update the read receipt setting and assign the user role assignment policy for the set of target mailboxes.

ForEach ($Chiliad in $Mbx) {    Write-Host "Setting mailbox read receipt configuration for" $M.DisplayName    Set-Mailbox -Identity $Yard.UserPrincipalName -RoleAssignmentPolicy PolicyWithNoRR    Fix-MailboxMessageConfiguration -Identity $M.UserPrincipalName -ReadReceiptResponse AlwaysSend }              

Controlling Read Receipts in Outlook

Our problem is solved if OWA is the sole customer in employ. Unhappily, that's probably non the case. Clients like Outlook for Windows, Outlook for Mac, and Outlook mobile might be in use, as might 3rd-party clients. Every client has its ain method to control the processing of read receipts. For instance, Figure five shows the settings in Outlook for Windows (click to run version).

Outlook for Windows settings to control read receipt processing
Figure 5: Outlook for Windows settings to control read receipt processing

For historic reasons, most Outlook for Windows settings are stored in the system registry. A check of the settings available in the administrative templates for Outlook reveals that the read receipts are controlled by the receipt response  DWORD value at HKCU\Software\Policies\Microsoft\Office\16.0\Outlook\Options\Mail. The values are:

  • 0: Always send a response.
  • i: Never ship a response.
  • 2: Ask the user before sending a response.

Yous tin can update the value manually past editing the registry (Effigy half dozen), which is fine for a test example. In production, you're likely to use a group policy object (GPO) or other technique to deploy the policy setting to client workstations.

The system registry value to stop Outlook for Windows allowing users to choose a read receipt setting
Effigy half dozen: The system registry value to stop Outlook for Windows assuasive users to choose a read receipt setting

Once the policy is in place, Outlook greys out the options to control read receipts.

Client-Side Characteristic Dependant on Customer-Side Controls

In summary, read receipts are a client-side feature invoked past the presence of the Disposition-Notification-To message header. Because it's a client-side feature, any effort to strength the customer to process read receipts in a item manner depends on the controls available in a customer. We can satisfy the constabulary chief's request for OWA and Outlook for Windows. I see no way to exercise this for Outlook mobile and didn't investigate Outlook for Mac or whatever of the many other email clients which can connect to Commutation Online using Exchange ActiveSync (EAS), IMAP4, or POP3 (hopefully without using basic authentication). At present you know what y'all should look for, checking how to bargain with other clients is an exercise for the reader!


Acquire more most how Function 365 really works on an ongoing footing by subscribing to the Function 365 for IT Pros eBook. Our monthly updates go on subscribers informed about what's of import across the Part 365 ecosystem.