To automatically Bcc all outgoing messages
Outlook has a rule to automatically Cc another person on outgoing messages, but no equivalent for Bcc. This page offers two code samples for adding such an automatic Bcc. Both use the Application.ItemSend event, which fires whenever a user sends a message or other item.
Method #1 (Basic)
This version is suitable for 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:
=======Code Starts here Method#1======
Private Sub Application_ItemSend(ByVal Item As Object, _
Cancel As Boolean)
Dim objRecip As Recipient
Dim strMsg As String
Dim res As Integer
Dim strBcc As String
On Error Resume Next
' #### USER OPTIONS ####
' address for Bcc -- must be SMTP address or resolvable
' to a name in the address book
strBcc = "firstname.lastname@example.org
Set objRecip = Item.Recipients.Add(strBcc)
objRecip.Type = olBCC
If Not objRecip.Resolve Then
strMsg = "Could not resolve the Bcc recipient. " & _
"Do you want still to send the message?"
res = MsgBox(strMsg, vbYesNo + vbDefaultButton1, _
"Could Not Resolve Bcc Recipient")
If res = vbNo Then
Cancel = True
Set objRecip = Nothing
=======Code ENDS here Method#1======
Make sure you substitute the right e-mail address for "email@example.com.
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.