More Outlook Resource Sites

Microsoft Developer Network (MSDN)

FAQs and other general resources

How to automatically BCC all outgoing emails in Outlook 2010-2003

Outlook has a rule to automatically ?? (send a carbon copy) another person on outgoing messages, but no equivalent for auto B?? (blind carbon copy). This page offers two code samples for adding such an automatic BCC to Outlook emails. Both use the Application.ItemSend event, which fires whenever a user sends a message or other item.

Send a BCC automatically: method #1 (basic)

This version is suitable for Microsoft Outlook 2003 or later. It uses Outlook objects exclusively and includes error handling to avoid problems with an invalid BCC address. Place this VBA code in the built-in ThisOutlookSession module: 

Make sure you substitute the right e-mail address for "someone@somewhere.dom."

The reason that this method is not suitable for versions earlier than Outlook 2003 is because it will trigger an address book security prompt due to the use of Recipients.Add. You could avoid security prompts by simply setting the Item.Bcc property to the desired address, but that has two problems. First, it would wipe out any Bcc recipients that the user might have already added. Also, in some Outlook configurations, setting Bcc without trying to resolve the address results in an unresolved address, even if you use a proper SMTP address; you'll get an error, and Outlook won't send the message.

Auto BCC using Redemption

This version uses the same basic technique as Method #1, only with the third-party Outlook Redemption library to avoid security prompts in versions before Outlook 2003 and, if the recipient cannot be resolved, to display to the user the name resolution dialog.

Make sure you substitute the right e-mail address for "myaddress@mydomain.dom."


Auto BCC for Outlook

Add-in for Outlook 2013, 2010-2003 that can be customized with different criteria for adding CC or BCC recipients - to specified addresses only or if the subject line or the attachment name contains particular words

Silent BCC for Microsoft Outlook

Software to monitor every outgoing e-mail silently and invisibly

More Information

Another common use for the Application.ItemSend event is to check whether the subject of the message is blank or whether it has the expected attachments. Examples:

More samples for the Application.ItemSend event: