Why an update?

In 2014 I wrote how a small macro makes Outlook send a BCC of every email you send (in Dutch). People still read that article, and the questions under it show the need hasn't gone away: a copy to your accountant, an archive address or a colleague, without the recipient seeing it.

Outlook has changed a lot since then. Microsoft is gradually moving everyone to the new Outlook, which no longer supports macros. My method still works in classic Outlook, which Microsoft supports until at least 2029. Below I list every option for 2026, with a safer way to run the macro than I recommended back then.

Which Outlook do I have?

Look at the top right of the Outlook window. If you see a New Outlook toggle that is switched on, you are using the new version. If you see the File menu at the top left and a toggle that is off (or "Try the new Outlook"), you are in classic Outlook.

You useWhat works
Classic Outlook (Microsoft 365, 2019, 2021, 2024)Method 1 (macro, real BCC) or method 2 (rule, CC)
New Outlook or Outlook on the webOnly method 3 (business account)
Outlook.com or a free Gmail accountNo built-in automatic BCC, see below

My tip: if you want to use the macro, switch the toggle back off. You can keep using classic Outlook for years.

Method 1: the macro in classic Outlook (real BCC)

This is still the only way to add a real, invisible BCC to every email on a normal PC install. One big change from 2014: I no longer tell you to enable all macros. We sign the macro ourselves, so only your own code is allowed to run.

  1. Turn on the Developer tab. Go to File > Options > Customize Ribbon, tick Developer on the right and click OK.
  2. Open the Visual Basic Editor. Click Developer > Visual Basic, or press Alt+F11.
  3. Open ThisOutlookSession. On the left, expand Project1 > Microsoft Outlook Objects and double-click ThisOutlookSession.
  4. Paste the code below into the empty pane on the right and replace the example address with the address that should get the BCC. The code handles one address. Need more? Create a forwarding address or group with your mail provider and use that.
  5. Sign the macro. First run SelfCert: search the Start menu for "Digital Certificate for VBA Projects" (or open SELFCERT.EXE in the Office folder, usually C:\Program Files\Microsoft Office\root\Office16). Give the certificate a name, for example your own. Back in the editor, choose Tools > Digital Signature > Choose and select that certificate.
  6. Save and close the editor (Ctrl+S, then close the window).
  7. Set macro security. Go to File > Options > Trust Center > Trust Center Settings > Macro Settings and choose Notifications for digitally signed macros, all other macros disabled.
  8. Restart Outlook. The first time you send an email, Outlook asks whether you trust the macro. Choose Trust all documents from this publisher.
  9. Test by sending an email to yourself. The BCC address should receive a copy.
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    ' Sends an invisible copy (BCC) of every outgoing email to the address below.
    Const BCC_ADDRESS As String = "archive@example.com"
    Dim objRecip As Outlook.Recipient

    If TypeName(Item) <> "MailItem" Then Exit Sub   ' skip meeting requests and tasks

    Set objRecip = Item.Recipients.Add(BCC_ADDRESS)
    objRecip.Type = olBCC
    If Not objRecip.Resolve Then
        If MsgBox("The BCC address could not be verified:" & vbCrLf & BCC_ADDRESS & _
                  vbCrLf & vbCrLf & "Send anyway?", vbYesNo + vbQuestion, "Automatic BCC") = vbNo Then
            objRecip.Delete
            Cancel = True
        End If
    End If
    Set objRecip = Nothing
End Sub

If you change the code later, sign it again (step 5). Otherwise Outlook blocks the macro.

Method 2: a rule without a macro (CC instead of BCC)

Don't want macros? A normal rule in classic Outlook also works. The downside: the rule puts the address in CC, so the recipient can see it.

  1. Go to Home > Rules > Manage Rules & Alerts > New Rule.
  2. Under "Start from a blank rule", choose Apply rule on messages I send and click Next.
  3. Tick no condition if the rule should apply to every email. Click Next and confirm with Yes.
  4. Tick Cc the message to people or public group, click the blue "people or public group" at the bottom and choose the address.
  5. Name the rule and click Finish.

This rule runs on your PC. If you send an email from your phone or the web version, nothing happens.

Method 3: a rule on the server (Microsoft 365 for business)

If you have a business Microsoft 365 account and are the admin yourself (or know who is), this is the best solution. The rule runs on the mail server, so it works in classic and new Outlook, on your phone and on the web. And it is a real BCC.

  1. Open the Exchange admin center (admin.exchange.microsoft.com) and go to Mail flow > Rules.
  2. Click Add a rule > Create a new rule.
  3. Under "Apply this rule if", choose The sender is > this person, and select your own mailbox.
  4. Under "Do the following", choose Add recipients > to the Bcc box, and choose the archive address.
  5. Save the rule and enable it. It becomes active after a few minutes.

Google Workspace (paid Gmail for business) has something similar: the admin adds a rule under Gmail > Routing in the admin console that adds extra recipients.

New Outlook, Outlook.com and Gmail

The new Outlook, Outlook.com and free Gmail have no built-in automatic BCC. Macros and the old (COM) add-ins don't work there, and rules only apply to incoming mail. What you can do:

  • First ask whether you still need the BCC. Your Sent Items folder used to live on one PC. Today, for most accounts, it sits in the cloud and you see it on all your devices. For an archive of your own emails, that is often enough.
  • Add the address to BCC yourself on the emails that really need it. In the new Outlook, turn on the BCC field via Options > Show Bcc.
  • An add-in or browser extension for automatic BCC. These exist, but they get access to all your mail. Only pick one from a well-known maker and read what happens to your data.
  • Switch to a business account (Microsoft 365 or Google Workspace), so method 3 becomes possible.

Turning it off

  • Stop the macro: open the Visual Basic Editor (Alt+F11), delete the code in ThisOutlookSession, save and restart Outlook.
  • Stop the rule: untick or delete it in Manage Rules & Alerts.
  • Stop the server rule: disable it in the Exchange admin center.

My advice

If you work in classic Outlook on one PC, the signed macro is still the handiest solution. If you also use Outlook on your phone or already in the new version, a server rule is the only way that works everywhere.

Sources

Share this article with your friends via:
WhatsApp Instagram

Questions and comments

Ask a question or leave a comment. It appears only after I have approved it.

No approved comments yet.

Your name and message are shown under this article after approval. Your email is optional. If you fill it in, I use it only to reply and never publish it. I keep the data until you ask to access or delete it via my contact form.