Sometimes when I am at a loss for a topic to write about, I look at the Microsoft Technical Community forums to see what’s going on there. Which brought me to the following question:
“My boss needs all my outgoing emails to have him BCC’d onto them. If I don’t have an automated BCC to all emails I compose, reply to and forward, I know there’ll be message I forget to add him to.”
On the surface, you might wonder why a manager would want to be a BCC recipient on all outgoing messages for their employees. It’s a kind of big brother supervision technique. However, there is value in automatically copying messages. For instance, you might want to send copies to:
A central CRM system to track customer engagement.
A shared mailbox (or Microsoft 365 group) so that other team members can see customer queries and other interactions.
An external system to index and archive messages.
I’m sure other reasons exist. The point is that the ability to copy messages to a destination automatically without user intervention or knowledge is a reasonable request.
Available Methods
The potential methods available to solve the problem include:
Inbox rules. Apart from the fact that the rules wizard doesn’t support BCC copying (this can be done using Visual Basic for applications), an obvious problem is that the user can see the inbox rules and can remove the rules without administrator knowledge.
Third-party tools. Although effective, third party tools might only cover certain email clients (and specific software versions) and probably incur cost for purchase and support.
Transport (mail flow) rules. This method is the only one that you can guarantee will process messages sent by all email clients. The downside is that an administrator must configure the rule. However, if the rule settings are flexible, this should be a one-time operation.
Transport Rule is Best Option
Overall, transport rules are the best solution. They’re part of Exchange Online so don’t cost anything, and they cover all bases.
The basic outline for the rule is very simple:
Look for messages sent by a specific user.
Copy those messages to a BCC recipient.
I recommend using a distribution list to identify the originators of messages to be copied. This allows the rule to cover multiple users and means that administrators don’t need to update the rule when people leave the organization. The responsibility for maintaining the distribution list can be given to the manager, who can update list members through Outlook or OWA.
The same logic appears to hold for the BCC recipient, and it would be nice to use a distribution list here. Unhappily, that transport rules don’t support using a distribution list or Microsoft 365 group as the target for BCC copies. However, transport rules do support shared mailboxes as BCC targets, and shared mailboxes offer some advantages over copying messages to the manager’s mailbox.
The manager can open the shared mailbox using OWA, Outlook, and Outlook mobile and a clear separation exists between BCC messages and normal email traffic delivered to the manager’s mailbox.
If the manager moves to another position, they can hand the shared mailbox over to their replacement.
If you decide to use a shared mailbox, make sure to assign the manager full access to the mailbox. With this permission, they’ll be able to open the shared mailbox as a shared folder in OWA. Outlook desktop detects the presence of the full access permission and will add the shared mailbox to the set of resources it opens automatically.
When you create the rule, use the send messages and save a copy for review template. This presents a simplified version of the creation UI appropriate for a send and capture rule. In Figure 1, I’ve selected to:
Apply the rule if the sender is a member of the BCC Employees distribution list; and
Bcc the message to the BCC Destinations recipient (shared mailbox).
Figure 1: Editing the Automatic BCC transport rule
Setting the rule to Enforce causes the Exchange transport system to apply the rule. Because of the way Exchange Online spreads mailboxes in an Office 365 tenant over several mailbox servers, it can take up to 30 minutes before the new rule is distributed and becomes effective on all servers. The same interval occurs for rule changes, so build this time into your testing regime.
When the transport rule is effective, the transport system copies all messages sent by anyone in the monitored distribution list to the BCC recipient. Figure 2 shows the shared mailbox following the arrival of some BCC messages. The BCC Destinations shared mailbox looks like any other mailbox in the set of resources available to the manager, making this a convenient way to monitor inbound traffic generated by employees.
Figure 2: BCC messages copied to a shared mailbox by a transport rule
Although everything works, the problem is that the manager could spend a lot of time reviewing email that they don’t need to. For example, if the employee sends a personal message, should the manager see that email? This is an issue that organization culture, HR processes, the need to respect privacy, and employee sentiment all influence. An organization might decide that employees should not use email for personal reasons, but that’s hard in today’s always connected world.
We can improve the transport rule by building in an exception to allow the employee to mark email as personal. For instance, the rule could allow any email with a certain word in the message subject to pass without being copied. To prove the point, I added an exception to the transport rule to allow users to mark private email by including P: in the subject (Figure 3).
Figure 3: Adding an exception to the transport rule
All Works But…
The transport rule works, but I wonder if it’s a good use of management time to review every message sent by users. A better solution might be a transport rule which checks for specific words or phrases (like “quotation” or “purchase”) in email and BCCs those messages. In any case, the technology works and it’s available in all Exchange Online plans.
Learn about maximizing the use of Exchange Online and the rest of Office 365 by subscribing to the Office 365 for IT Pros eBook. Use our experience to understand what’s importance and how best to protect your tenant.
This works as expected if the messages are not encrypted. Were you able to get it to work if you encrypted the messages first and then sent? I tried it in the latest Office 365/Exchange Admin Center, but I can’t view the encrypted messages that the transport rule BCC’ed to the Shared Mailbox.
{"id":null,"mode":"button","open_style":"in_modal","currency_code":"EUR","currency_symbol":"\u20ac","currency_type":"decimal","blank_flag_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":100,"top_media_type":"featured_image","featured_image_url":"https:\/\/office365itpros.com\/wp-content\/uploads\/2022\/11\/cover-141x200.jpg","featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Virtual Tip Jar","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"Office 365 for IT Pros","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"Office 365 for IT Pros","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for supporting the work of Office 365 for IT Pros!","payment_confirmation_title":"Office 365 for IT Pros","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to tip?","initial":{"instruction_type":"normal","instruction_message":"How much would you like to tip? Choose any currency."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to tip? Choose any currency."},"invalid_curency":{"instruction_type":"error","instruction_message":"Please choose a valid currency."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to give this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to give this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to give this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}
This works as expected if the messages are not encrypted. Were you able to get it to work if you encrypted the messages first and then sent? I tried it in the latest Office 365/Exchange Admin Center, but I can’t view the encrypted messages that the transport rule BCC’ed to the Shared Mailbox.
Messages encrypted with rights management can only be opened by people on the recipient list.