Microsoft

How to Automatically BCC in Outlook 2010

Outlook 2010

Article Summary:

  • A step-by-step screenshot tutorial for automatically BCCing an email address for all outgoing Outlook messages.
  • From Outlook 2007 to Outlook 2010, Microsoft removed the BCC field. We’ll show you how to add the BCC field back in.
  • To auto BCC in Outlook, we’ll need to show the developer tab and add a script.
  • See the comments for how to set up an automatic BCC for messages sent only from a particular email address (for multiple Outlook accounts—thanks, Nathan!)

Perhaps it was due to one too many passive aggressive intra-office stealth BCCs (Blind Carbon Copy.) But seriously, for some reason, Microsoft decided to roll back access to BCCs in Office 2010. For one, the new message dialog doesn’t even have a BCC field. But you also can’t set up Outlook 2010 rules to automatically BCC someone (although you can set up a rule to automatically CC a message.) For my purposes, this is kind of a pain. I am a Gmail/Outlook hybrid user (I have about three different email addresses, each for a different purpose) and I like to keep all of my messages archived in my main Gmail account for easy reference. So, what I wanted was a way to forward all of my sent messages to my Gmail account (I already have all incoming messages forwarded there by a server-side rule.) Easier said than done but I think I’ve figured out the easiest way.

It turns out that there are three things to be done to unlock the full potential of BCC in Outlook 2010:

  1. Show the BCC Field in the New Email window.
  2. Reveal the Developer ribbon.
  3. Add some custom Visual Basic code.

It’s not as complicated as it seems. But let’s move through these three from easiest to hardest.

(Note: You can also buy third-party Add-Ins for Outlook 2010 that do this—but I’d recommend this method. It’s free.)

If you are having an issue where this stops working after you restart your computer, please read the note about macro security at the end of this article.

Show the BCC Field in New Emails in Outlook 2010

Step 1

Launch Outlook 2010.

Step 2

Click the New Email button. In the message composition window, click the Options tab.

Reveal BCC in Outlook 2010

Step 3

Click the BCC button.  This action reveals the BCC field. Henceforth, you shall have access to the BCC field in all future Outlook 2010 emails. If you get tired of the extra space it takes up, just click it again to be rid of it.

Reveal BCC in Outlook 2010

Now, you can use the BCC field for one-offs. But what if you wanted to automatically BCC yourself (or someone else) on every outgoing message? To do this, follow the steps below.

Display the Developer Ribbon

I’m basing this how-to on a great bit of custom Visual Basic code written by Michael Kizer. Michael wrote this VBA snippet for Outlook 2007, but it works for Outlook 2010. The only problem: it’s a bit tough to find Visual Basic Editor in Outlook 2010. It’s hiding in the Developer ribbon, which, by default, is hidden from view. Here’s how to enable it:

Step 1

Launch Outlook 2010.

Step 2

Click the File tab and choose Options.

Reveal Developer Tab in Outlook 2010

Step 3

Click Customize Ribbon on the left-hand panel. Now, in the list on the far right, make sure Developer is checked. Click OK.

Reveal Developer Tab in Outlook 2010

Step 4

The Developer tab will now be revealed in your Outlook 2010 ribbon.

Reveal Developer Tab in Outlook 2010

Automatically BCC Outgoing Messages in Outlook 2010

Now, it’s time to add the code that Mr. Kizer put together.

Step 1

Go to the Developer tab and click Visual Basic.

Step 2

On the left, expand Project1 (VbaProject.OTM to reveal Microsoft Outlook Objects. Expand Microsoft Outlook Objects and then double-click ThisOutlookSession.

Auto BCC with Outlook 2010

Step 3

In the code editor window, choose Application from the drop-down menu in the top-left.

Auto BCC with Outlook 2010

Step 4

In the top-left drop-down menu, choose ItemSend.

Auto BCC with Outlook 2010

Step 5

Position your cursor after “Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)” and before “End Sub.” Now, copy and paste the following between those two lines.

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 = "[email protected]"

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
End If
End If

Set objRecip = Nothing

Step 6

Look for the line that reads: strBcc=”[email protected] and replace it with the email address you’d like to BCC for [email protected]. For example, swap it out for [email protected] or [email protected]

Auto BCC with Outlook 2010

Step 7

Don’t forget to save the changes. Close the Visual Basic Editor and return to Outlook.

Auto BCC to Outlook 2010

Now, when you send messages from Outlook 2010, they’ll be automatically BCC’d to the recipient you chose in the Visual Basic editor. You don’t have to type their name in the BCC field, nor will you even see it entered into the BCC field since the Visual Basic script kicks in after you hit send. (A handy tip for any cyber spies.)

Auto BCC to Outlook 2010

Filtering BCC Gmail Messages

And there you have it.

Filtering BCC’d Gmail Messages

One last thing to note: if you are using this to build a Gmail archive, I recommend using a customized Gmail address with something like +bcc appended to it. However, since the address won’t show up in the to: field, you can’t filter it out like normal. So, instead, you’ll have to use the “deliveredto:” string in Gmail. For example, I’d use “deliveredto: [email protected]” and then set up a rule that automatically archives these messages and marks them as read.

Filtering BCC Gmail Messages

A Note About Macro Security

Note: This section may help those who find that the macro stops working the next day or after a system restart.

To get this to work, you may need to alter your macro security settings. Either way, you’ll probably get a nagging message like this when Outlook 2010 launches:

SNAGHTML433faf

As you can see, that just refers to the script that you put into ThisOutlookSession—it doesn’t mean you have a virus. You can click Enable Macros to proceed with your Auto BCC script intact.

If you want to skip this step, you can change your Macro Security settings by going to the Developer tab and clicking Macro Security.

Outlook 2010 Macro Settings

Under “Macro Settings,” you’ll have a few different options:

Outlook 2010 Macro Settings

For a nag-free existence, choose “Enable all macros,” though this is, of course, potentially dangerous. The real solution here is to get your macro digitally signed—but that’s a bit of an involved process, which I’ll go over in another post (How to Create a Self-Signed Digital Certificate in Microsoft Office 2010). Stay tuned!


273 Comments

273 Comments

  1. ArunKumar  

    First of all,
    Tkz a lot for the given code…
    It works fine for me…
    Hats Off to You . . .

    • Adnan Telfah  

      thanks a million man,,, this is really helpful.
      wish you the best of luck 🙂

    • Jack Busch, Thanks for this. It works great. I’m on day one tho. You’ve saved be like $29.95 from having to buy one of those OOTB solutions to do this. Glad you are from Pittsburgh, since that’s where I’m from too. Pittsburgh people are bright and always finding ways to do things smarter, quicker, and cheaper! Blessings!

  2. ArunKumar  

    Hi,
    How to restrict access to Developer Tab to the users, but at the same time this code should run properly .

  3. Donald  

    it worked for the first time, but it doesn’t work after i reboot my PC. I went through every steps again but still no luck.

  4. Yılmaz  

    Hey Bro,

    I love you. This is great sharing!

    Thanks

  5. Yılmaz  

    Just want to add one thing instead of using “[email protected]”.
    If you use “[email protected]” then you will not be able to search all emails from one source.

    Gmail allows me to have only one gmail account. and you can not direct the incoming emails from “[email protected]” to “[email protected]”.

    What I have done is; I bcc the emails to my original gmail addresse and made the Filter in gmail asd described above and everything worked just FINE

    • Were glad it worked out. Good feedback.

      • Karen  

        Hi can you advise how I can switch this off as no longer necessary

  6. ArunKumar  

    Hi,
    When i tried it i works fine for me.
    But after a couples of weeks later, i doesn’t work. !
    When gone through the developer’ ribbon, all the mentioned things were quite fine.
    But still it doesn’t work.
    What the issue & solution for this.

    • Stephen  

      Same problem for me… worked beautifully for a few weeks and then, poof, nada. And the code is still there just as before.

      • Same problem here – worked fine for a while, then stopped.

        • michal  

          same here – worked 1 day, then stopped. No MAKRO security monit.. Any suggestions?

          • bc bcc  

            same thing 🙁

            no comment??

  7. Alessandro  

    hi I followed the steps but it didn’t work for me…I was wondering whether it has something to do with the line alignment, as when you copy/paste, the lines all start at the same point, while in the picture at step6 they do not. I’m sorry for being such an ignornant in the subject, but does the alignment matter? thanks

    • hi alessandro – i don’t THINK the alignment should matter, since white space doens’t usually get parsed

      do you get an error message? maybe you dropped a quote when swapping out your addy for the BCC field?

      • Alessandro  

        I checked the spelling and not to have cancelled anything by mistake, but it is all right. I don’t get any error message, it just does not deliver any copy of the email to the BCC address too.
        It is not a matter of alignment, in fact: I also tryed to copy/paste the code of the article written for Outlook 2007 and linked at the beginning of this article. The alignment is different there, but it still does not work.

      • Alessandro  

        Problem solved: it works just great, you just need to check the security level of outlook and let it execute the macros – the security settings are in the developer tab…I do not know how safe that is though … Outlook advises not to do so because bad code could be executed… well, somebody will probably blow up my computer, but at least the automatic BCC works 🙂 Any suggestions not to let my computer easily become a weapon of mass distruction and still get this code work?

      • vasilis  

        by me the visual button is locked! i cant proced further? is there a way to skip?

      • Stacey  

        While I getting Bcc’d now, I continue to get this message because of two lines, 16 & 18 above. I was able to fix one so it wasn’t “red”. It reads, “Compile Error” and “Syntax Error”. Can you help me with this issue?

  8. Dimitry  

    Thank you. Works great. Was using a similar method in Outlook 2007 but did not translate well to 2010.

  9. Adi  

    I have multiple e-mail accounts in Outlook. Is there a way to amend the code to only work with specific accounts?

    • Alessandro  

      How about taking care of the issue on the other side? I mean, like a rule that deletes the messages coming from a specific account to the address you choose to store them. That’s easy and does not require modding the code

      • Adi  

        Great! Thanks for the idea!

      • TG2  

        The problem with doing something on the “back end” is that with multiple accounts you may want A) Multiple different BCC’s (i do) and B) some accounts you maybe do not want to have *ANY* BCC for because it may violate terms in your office.

        in my case … I want to have the BCC Code work for all emails (new & reply/forward/etc) of my *personal* account in outlook.. but *NOT*.. repeat *NOT* for *any* of the emails that are to/from my corporate email account! Doing so would potentially violate terms & conditions of client information.

        AND it would be *MUCH* better if the CODE would actively put the email address in the BCC so that the user could see the BCC address appear, and selectively choose to remove it.

        its a function I never liked of other “always BCC” features in outlook and other programs.. and probably one of the reasons other “office” users hated it…. since someone would blindly set it up by accident..

    • Andy  

      Here is the solution to get it to BCC from only a specific account, hope this help someone in the future:

      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

      If Item.SendUsingAccount = “ACCOUNT NAME” Then
      strBcc = “BCC EMAIL ADDRESS GOES HERE”
      End If

      Set objRecip = Item.Recipients.Add(strBcc)
      objRecip.Type = olBCC
      If Not objRecip.Resolve Then
      If res = vbNo Then
      Cancel = True
      End If
      End If
      Set objRecip = Nothing
      End Sub

      Please note that the “ACCOUNT NAME” above is the name of the account when you created it can can be found by opening the email account settings, clicking ‘more settings’ then the account name will be under the general tab.

      Good luck!

      • Rudy  

        hi There

        Any chance to change the variable Item.SendUsingAccount so that not the ACCOUNT NAME but the ACCOUNT MAIL ADDRESS can be used?

        BR
        Rudy

      • test  

        Thank’s…..
        Good Job

      • Steve  

        Hi,
        the above doesn’t work for me as my account name is the same as my email address and the above won’t allow that.

      • David  

        This really helps as the original window view shown covers where the new lines should begin, especially the “End If” lines. otherwise you get a compile error.

      • PizzaMan  

        That’s great, thanks!

        Just a small additonal tip: even though the title in outlook read “Inbox – [email protected] – Outlook”, the name of the account was in all lowercase for me

  10. Tom  

    Excellent tutorial and code, many thanks! I had this working within 2 minutes.

    The lack of the auto bcc feature in Outlook was stopping me from using it for email. Now I can finally ditch Thunderbird. Many thanks again!

  11. Tom  

    I found that when I sent a new email, it is bcc’d automatically. But when I reply to an email, my reply is not bcc’d. Does anyone know how to change the VB code above to also bcc replies?

    Many thanks

    • Susan  

      I also would like to know how to get this to work for both replies and forwards, which is really what I need.

      Any help would be appreciated.

      • Jon  

        I’m interested in having Outlook auto bcc only when I am replying to an e-mail, not for new e-mails being sent out. I read through all of the posts, and didn’t see any code related to that. Anyone have any ideas?

        Thanks!

        • Hyacinthe  

          I’m also interested in this request by Jon.
          Any line of code that can be added for replies?

          The rest works great by the way… once I disabled the macros.

      • Phil  

        I am also having the problem that this does not seem to work for replies and forwards. Several people have asked about this, but no one (as far as I can tell) has posted a solution or a reply. Help?

        As an added twist, I have the Outlook option “when replying to a message that is not in the Inbox, save the reply in the same folder”. I use personal folders which help me to keep organized, but it also seems to stymie the macro – no auto self bcc when I forward or reply all to a messages from a personal folder.

        Any help would be appreciated!!

        • Dave  

          Same problem… is there a fix?

  12. mike  

    this work great when i turned it on however after restart it no longer works. when testing and clicking send/receive in outlook i get the following error:

    ‘message being sent exceeds the message size estbablihsed for this user’

    anyone else having this problem?

  13. RomanSC1  

    I had the same problem, after i reboot, it did not work again. What do i do? I have Kaspersky antivirus if that makes a difference.

    Thanks,
    RomanSC1

    • ara21  

      Like RomanSC1 and Donald, it also worked fine until I rebooted my machine. Now it’s no longer working. Any idea why? I’m using AVG Free Antivirus.

  14. Roland  

    Great – did it. Took me a few minutes. Can’t believe it. I had an Outlook BBC add-in program (paid for it). The moment I switched to Outlook 2010 and had Gmail it did not work anymore.
    You did it.
    Thanks a lot

    • Awesome! Great feedback. I’m glad the article helped you out!

      Are you a first time reader on the site?

      • Roland  

        Yes I am, but know I bookmarked your site. Again – Thanks

  15. Blayne  

    This is a great post. I use gmail in the exact same fashion. Thanks for the help.

  16. racsor  

    You are my hero!!

    but you’re exit and login in outlook

    thanks!

  17. Roland  

    I was excited at teh beginning and immediately wrote a great review, but the first time I restarted the computer, I have it on my home PC and my laptop and it happened on both) it did not work anymore. I reinstalled it and it worked – restart and it did not work anymore.
    So I gave up and I will reverse the settings.
    Too bad

  18. Peter Onderwater  

    Hello,

    I’m glad that I find this article. (I’m a first time reader)

    I have a question:
    I have a view emailaccounts, but I don’t need for each of them a BCC.
    Please, can you tell me, how I can make a BCC for a one or two emailaccounts?

    thanks!

  19. Roland  

    Well Peter,

    unfortunately it does not work for me anymore. It works exactly the length of one PC switch on. Once I switch off my PC it is gone. Reinstall it’s there. Turn off PC and Turn on again = Gone
    There’s another program out there but you have to pay and it works perfectly if you have an Outlook address. If you have gmail in Outlook it does not.
    My solution right now: Whenever I open an email BCC is on as well. I punch in the address(es), think for a second “do I need a copy?”, put in my email address or leave it blank. It works ………..

  20. Mario  

    Good article! Worked like a charm.

    But i need something little diferent. I need that emails are sent to the BCC: address ONLY if they are going FROM unique email address. Thing is that colegues are using mail enabled public folders (example: [email protected]), and they are also sending from address from public folder. Now they want to have all outgoing mails in one folder. So i made let’s say Outbox public folder and gave it another email ([email protected]).

    So what i need that only when i send email FROM [email protected] that email is BCCed to [email protected].

    I have tryed something like:

    strBcc = “[email protected]
    Set objSend = Item.SenderName
    If objSend = “[email protected]” Then
    Set objRecip = Item.Recipients.Add(strBcc)
    objRecip.Type = olBCC
    End If
    Set objRecip = Nothing
    Set objSend = Nothing

    NOT working tho 🙂

    FYI if i run this without that IF that i added, emails are BCCed to [email protected] just fine. Now i need to do the same only if FROM is [email protected]

    THX for any help!

    • Nathan  

      Try this:

      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 = “[email protected]

      If Item.SentOnBehalfOfName = “[email protected]” Then

      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
      End If
      End If

      End If

      Set objRecip = Nothing

      • Hi Nathan
        I’ve tried the option of bcc only from one particular email address. I’ve used the example given but I keep receiving the same error. Please can you help.

        Here is what I’ve done:

        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 = “[email protected]
        If Item.SentOnBehalfOfName = “[email protected]” Then
        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
        End If
        End If
        Set objRecip = Nothing

        End Sub

        The error I get is: Compile erro: Expected: Then or GoTo

        What Im trying to accomplish is when [email protected] sends email, [email protected] must be bcc

        Hope you can assist

        • suzanne  

          I have the same issue. As anyone an answer for this?
          Thanks

      • Thanks for that, Nathan. Big help, except that when using an Exchange account (hosted by a 3rd party) and a Hotmail account on the same profile, it would not return the value of Item.SentOnBehalfOfName for either account – however I got it working by testing for Item.SendUsingAccount.SmtpAddress which returned a value for the Exchange account, but not the Hotmail account.

        Awesome stuff, thanks again. Helped out with a long-standing client.

      • Ron  

        Hi Nathan,

        Thanks for your details about adding BCC only when sent from a certain address. It didn’t work for me but, when I changed the line

        If Item.SentOnBehalfOfName = “[email protected]” Then

        to the following line suggested by Rajinder

        If Item.SendUsingAccount.SmtpAddress = ” [email protected] ” Then

        Then it worked for me and achieved the result I was looking for.

        Regards
        Ron

  21. Vance  

    Works beautifully. Had this set up in less than 2 minutes thanks to your instructions. Thank you very much for sharing!!

  22. Ed Eaglehouse  

    Thank you so much for supplying a fix. It’s just mind-boggling that Microsoft threw out such a critical feature. I have to use Outlook 2010 where I work, so I’m grateful you were kind enough to publish how to get around this missing function.

  23. Alex McPhail  

    Thank you for the very helpful Auto BCC instructions.

  24. Attiq Ur Rehman  

    Good Work!
    I was looking for the same since a month back. Even had tried Auto BCC for Outlook. It sucks!
    Awesome Script…Thanks Man 🙂

  25. Joo  

    Dears,

    YOU MUST ACTIVATE MACROS OPTION, ON SECURITY SETTINGS!!!!

    Otherwise: it doesn´t work.

    Tks

  26. Bolmo Joosten  

    Dear all,

    To make it work I had to replace

    objRecip.Type = olBCC

    by

    objRecip.Type = Outlook.OlMailRecipientType.olBCC

    It worked perfectly after this!

  27. Enzio  

    Hi Guys,

    first of all thanks a lot for the solution for BCC.
    I was missing this feature for years!!!

    However I have problems running this feature when activating “outlook social network connector” in the registry: runosc=1
    After activating the BCC function is not working anymore.
    Any idea?
    Thanks

    Best regards,
    Enzio

  28. Paul  

    The auto BCC is a GREAT solution!

    however it is only working on new messages. How can i make it work when i reply or forward messages?

    thanks

    Paul

    • Richard  

      Was there ever a response to Paul as to how to make the auto bcc work on replies and forwards???

  29. Maxim  

    Hello! For some reason Outlook does not run my macro. I don’t get even a notification? Of course no mail sent to BCC address.

    • Nathan  

      Try signing the VB with a digital certificate.

      Click on Start > All Programs > Microsoft Office > Microsoft Office 2010 Tools > Digital Certificate for VBA Projects

      Add a certificate name and click on OK.Click OK again when the certificate is created.

      In Outlook, press Alt-F11. Click on Tools > Digital Signature. Choose the certificate and then click on OK.

      Note: You may need to install the certificate into the Trusted Root Certification Authorities (which is what I had to do).

      Save the project, then close VB. Close Outlook and then reopen. Accept any macro warnings that appear the next time that Outlook opens.

      • Maxim  

        Wow! great! thank you. My macro started to work after a reload. But I will keep your suggestion in mind for my future VBA programming.

      • Irvin  

        Epic thanks

      • Big Doug  

        The certificate did it for me. Thanks!

  30. Tiv  

    Hi,

    This is great but how do BCC multiple email addresses?

    Thanks

  31. Lisa  

    I also would like to know how to change the code to Bcc to multiple addresses

  32. Bob  

    Along with the many who’ve gone before me, I add my thanks. I wanted to only BCC mail that had a specific character string in the subject line. That only took about two minutes to add…

  33. Rajinder  

    I hope this helps….i am not a programmer in any form, but have been able to paste this together from several different sites. It works for me very well as I have several accounts setup in my Outlook 2010. Enjoy….good luck with using it.

    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
    Dim objMsg As Outlook.MailItem
    On Error Resume Next

    ‘ #### USER OPTIONS ####
    ‘Select one of the below Options, remove the comment marks (‘) in front of the line

    ‘Add text to the subject line when sending email
    Set objMsg = Outlook.ActiveInspector.CurrentItem
    ‘objMsg.Subject = “Test”
    ‘objMsg.Subject = “Prepended text here – ” & objMsg.Subject
    ‘objMsg.Subject = objMsg.Subject & ” – Appended text here”

    ‘ Address for Bcc — must be SMTP address or resolvable
    ‘ Automatically selects the bcc address from the set “from” setting or
    ‘ to a select email address, your choose
    strBcc = Item.SendUsingAccount
    ‘strBcc = “[email protected]

    ‘ Option 1: Select if you wish to auto bcc from a select account in outlook automatically
    ‘If Item.SendUsingAccount.SmtpAddress = ” [email protected] ” Then

    ‘ Option 2: Select through notification meesage before sending the email if you wish to bcc the email
    res = MsgBox(“Would you like to receive a copy of this message (Bcc)?”, vbYesNo + vbDefaultButton1, _
    “BCC Message”)
    If res = vbNo Then
    Cancel = False
    Else

    ‘ Option 3: Select if you wish to sent on behalf:
    ‘ If Item.SentOnBehalfOfName = ” [email protected] ” Then

    Set objRecip = Item.Recipients.Add(strBcc)
    ‘ objRecip.Type = olBCC
    objRecip.Type = Outlook.OlMailRecipientType.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
    End If

    End If

    End If

    Set objRecip = Nothing

    End Sub

    If you have problems with it not working, then do the following:
    • In outlook clicked on Tools/Macros/Security changed the level to Warning for all macros, ok
    • Again pressed Alt F11, clicked on Tools/Digital Signature click on Choose … u will see the Digital Signature u saved and select and press ok.
    Restarted Oulook
    Upon restart it will ask to trust all the macros from press yes. And it’s done

    Cheers

    • Gary  

      Hi,

      Thanks for the input. But i want to choose from a list of email ids to BCC when i send out a mail. Is it possible? Thanks!

    • Ron  

      Hi Rajinder,

      Thanks for your details about adding BCC only when sent from a certain address. This helped me to achieve the result I was looking for.

      Regards
      Ron

  34. This worked perfectly. Thanks for the info!

  35. Jennifer  

    Hello,

    I tried a few different VB codes to BCC myself and it actually worked for a day – I LOVED it. But then it STOPPED working. I am using Outlook 2007.

    Here is what I originally used:
    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

    ‘ Enter the address for Bcc
    ‘ It must be SMTP address or
    ‘ resolvable to a name in the address book
    strBcc = “[email protected]

    Set objRecip = Item.Recipients.Add(strBcc)
    objRecip.Type = olBCC
    If Not objRecip.Resolve Then
    strMsg = “Could not resolve the Bcc recipient. ” & _
    “Do you want to send the message?”
    res = MsgBox(strMsg, vbYesNo + vbDefaultButton1, _
    “Could Not Resolve Bcc recipient”)
    If res = vbNo Then
    Cancel = True
    End If
    End If

    Set objRecip = Nothing
    End Sub

    ————————————————

    Here is what I just tried (not working either):
    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 = “[email protected]
    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
    End If
    End If
    Set objRecip = Nothing
    End Sub
    ——————————–

    Please help! Would love to use this!

    • Jennifer  

      Can ANYONE provide any thoughts on my post? Please?

      • Yilmaz  

        Hello Jennifer,
        I think someway you probably disabled your macro settings to off position.

        File — Options — Security Center: Security Center Settings
        Macro Settings
        – enable all macros

        I use Office 2010. in 2007 may be above settings is located in another position.
        You can search google as “how to enable macro in office 2007” and you will find it.

        regards, Yilmaz.

        • Jennifer  

          I turned my macros security to the lowest possible security and still, nothing.

  36. Alison  

    Thanks. I have a notebook and a computer at my desk and I want to store all my sent e-mails on the desk computer. So I followed yout excellent tutorial in order to automatically bcc myself from my notebook. It worked on a new e-mail sent from my notebook.

    However, it didn’t work when I replied to an e-mail from my notebook and, as mentioned above, I suspect it may not work if I forward an e-mail from the notebook.

    Are there any similarly easy solutions out there – short of buying software?

    Again, thanks.

    • Alison  

      Forgot to mention that both my computers use Outlook 2010. It’s really annoying that Microsoft disabled the automatic bcc feature!

  37. Ed Eaglehouse  

    For adding multiple addresses, these lines are what attach a new BCC recipient:

    strBcc = “[email protected]
    Set objRecip = Item.Recipients.Add(strBcc)
    objRecip.Type = olBCC

    If you want to add more addresses, repeat these lines, replacing the address assigned to strBcc with the extra address. As with the original code, you may want to check that the address is valid (resolves successfully).

  38. viruzth  

    Wonderfull tips!
    Many thanx for that.

  39. BobbyBfromBoston!  

    How do you remove this feature? I previously added it, and now would like to remove it. I’ve deleted the code and saved it, and gone as far as to completely restart my computer. HOwever, every time I send an email. I am still bcc’d. How do I turn this off? Thanks.

  40. Sandra  

    Great script – thanks!

    Any way to code this so that it BCC’s TWO email addresses? I have tried various options but keep getting an “could not resolve the BCC address” error.

    thanks 🙂
    sandra

  41. AJ  

    Excellent post. Thanks for the blog!

  42. Ellen  

    Thanks for the tips, but my question is, how do you get outlook 2010 to stop showing you as a “To” when you are a bcc. When I am bcc’d, I cannot tell and run the risk of hitting reply all and unintentionally outing the sender as bccing me!

    • Good to see real expertise on display. Your cotnirbution is most welcome.

  43. Anil  

    To turn off this feature is simply a reversal of what you did:
    Go to Developer>Visual Basic>ThisOutlookSession>ItemSend
    Delete everything between “Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean” and “End Sub”.
    Save the file. Close Visual Basic window.
    Go back to FILE>OPTIONS>TRUST CENTER>Trust Center Settings>Macro Settings
    Then turn OFF [Disable] the Macros.
    Restart Outlook.

    It worked for me!

  44. John  

    Hi there! Is there a way to do this auto bcc work in Mac Mail under Lion OS X?

    Thanks!

    • Adam  

      To setup Auto BCC for Mac Mail, you need to configure the following on every computer you want to log email for.

      To automatically log outbound mail using bcc

      Open a terminal window and type the following;
      defaults write com.apple.mail UserHeaders ‘{“Bcc” = “[email protected]”; }’

      this will automatically bcc any OUTBOUND message from Mac Mail

      Note: if you wish to remove this rule type;

      defaults delete com.apple.mail UserHeaders

      Changes made to your Mac Mail configuration are not supported by anyone. Read more here: http://email.about.com/od/macosxmailtips/qt/et_auto_bcc.htm

      To automatically log inbound mail you need to create a redirect rule

      Open Mac Mail preferences and click the Rules tab.

      Create a new rule matching the condition: “From contains: @”. This will match every email you receive.

      Choose the “Redirect Message” action, and enter your BCC address (e.g [email protected])

  45. Adam  

    any idea what I would do to duplicate this in Outlook for Mac 2011? I can’t access the VB Editor on the ribbon – you can’t even edit the ribbon in Outlook. Office, Yes; Outlook, No…

  46. dc  

    I have 4 different email accounts in Outlook 2010 (all IMAP). I want to BCC to a different gmail address for each account (backup purposes). Is there a way to modify your code so it doesn’t BCC from all my email accounts OR I can select which email accounts I want to BCC from.

    • I forgot to reply to your post, but try the modified code in the post below

  47. @de – try the modified code below to use a different BCC for each account.
    ————

    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

    Dim strSendAccount As String
    strSendAccount = Item.SendUsingAccount.SmtpAddress

    Select Case strSendAccount

    Case “[email protected]” ‘### test for first account here
    strBcc = “[email protected]” ‘### set the corresponding bcc

    Case “[email protected]
    strBcc = “[email protected]

    Case “[email protected]
    strBcc = “[email protected]

    Case Else ‘if none of the accounts match, then exit
    Exit Sub
    End Select

    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
    End If
    End If

    Set objRecip = Nothing
    End Sub

  48. Rik  

    Hi,

    Nice tip, thank you…

    However, when you look in the ‘sent folder’ and open the email it shows the BCC and who it was direct too?

    Sort of defeats the object?

    Any idea on how to stop it beeing reveale?d

  49. Rik  

    Any update on this please?

    Any idea on how to stop it being revealed?

  50. Rik  

    Hi,

    Using latest Outlook client,

    I can report that it does not work.. 🙁

  51. Joshua  

    Code works well but once my computer is restarted. It stops working. How do I solve this?

  52. links jewellery  

    Thanks for the auspicious writeup. It in reality was once a entertainment account it. Look complex to far added agreeable from you! By the way, how can we keep in touch?

  53. John  

    Hi, thanks for this code, but is there anyway this could be replicated in OWA as well as in the client (Outlook 2010).

    Cheers,

    John

  54. Brilliant! I use this for salesforce to save an additional click. Thanks!

  55. Isaack  

    Great articles, it is so helpful, would u pls post how to auto bcc of my income mail?

  56. Dan  

    Isaack, you’ll have to set up a forwarding rule – it’s probably the easiest.

    I too am having problems with this working after a reboot. A co-worker of mine who is using Outlook 2007, and myself, using Outlook 2010 have the same problem.

    Even if I changed my macro settings to automatically accept and not prompt it doesn’t matter, it still doesn’t work after a reboot.

    Any ideas?

    • Bruce L  

      I have tried the suggestions you offered for the Automatically BCC Outgoing Messages in Outlook 2010

      It worked on one test email, then after rebooting my computer the code no longer works. I do have Outlook 2010.

      Jack do you have any suggestions as there seems to be a few of us who are experiencing this glitch.

  57. Great that’s work very well ! Thanks =]

  58. Patrick  

    Thanks for the Outlook part (I didn’t need the Gmail steps). Works great!

  59. Larry  

    OUTSTANDING! Worked the first time for me. Thank you!

  60. Yossi  

    Like Dan said, The macro stops working after computer restart.
    Any idea how to solve this?

    Also, is there any way to solve this problem on the exchange server side (so that if people are sending mails from smartphones or web-client as well as client outlook it also works)?

    • Matt J  

      I would love to see this, too! Just got this working in native Outlook 2013, but it’s not working on my Outlook Web when I log-in to that. Thanks for any tips!

  61. Natalie  

    This worked great the first time, but has completely stopped after 1 day. If anyone has any ideas on how to fix it I would greatly appreciate help!!

    Thanks

  62. Donna Mangion  

    Hi there,

    Thank you, this is a great tool. Especially for someone who is tecnologically challenged like myself.

    However, I have a little problem…can I get it to work on reply emails and forward emails?

    Would love someone to point me in the right direction

    Cheers
    Donna

  63. Talal  

    Hi,

    thanks a lot for this precious tip. I have faced the same problem reported by many users above. In less than a month, the auto bcc has stopped working.

  64. WOW, and thanks for solving a HUGE problem i have with sending from laptop and not seeing those mails on my cell phone. What a GREAT solution and thanks for taking time to give clear instructions too!

  65. i tried.
    is their a more simpler way to switch it on and off when needed or not needed.
    pl advise.

  66. amelia  

    Amazing instructions! clear and concise! thank you so much!

  67. Nico  

    FAB – well done and thanks sooo much!

  68. Thanks for the very helpful suggestion. I wasn’t clear why you would need a customized gmail address. I just use a gmail filter to automatically label and file my bcc emails from outlook (any email I’m sending myself).

  69. Arif Hussain  

    Beautiful. Works fine.

    Thanks Buddy

  70. David Francis  

    Great tip, worked for me – until I rebooted!

    So here’s a solution for people who find this STOPS WORKING after a day, or after computer restart.

    1. In Outlook 2010, go to File -> Options -> Trust Center
    2. Click Trust Center settings
    3. Click Macro Settings
    4. Choose “Notifications for all macros”
    5. OK everything
    6. Restart Outlook 2010
    7. You’ll get a security warning – you’ll need to grant permissions to get the macro to run.

    It should now work

    HTH and thanks for the tip

    • Courtney  

      DUDE, thank you for this!!! I hooked this up for my boss, and we were so sad it stopped working…. employed your method and it’s all good again! Thanks again, David!

    • miriam  

      AWESOME! it worked again!

      so happy

      thanks so much

    • Wahab  

      Thank you my friend !
      Finally it work again !!! Really helpful !

  71. David Francis  

    Gaa ignore me, that will teach me to read the whole post.
    DOHHHH

  72. John  

    I did it as per this guide and tested it, bingo, it works just as expected. Many thanks for your guide, it’s just crystal clear.

  73. Andreas  

    Great script, any1 knows how to WHITELIST my domain so it does not send bcc when I send emails to my colleagues?!

    thanks

    /A

  74. yaklis  

    Dear friends; for multiple adress bcc please use the code below;

    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 = “[email protected]
    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
    End If
    End If

    ‘ repeat the group start form “x” to “y” for more than two mails.

    ‘ x
    strBcc = “[email protected]
    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
    End If
    End If
    ‘y

    Set objRecip = Nothing
    End Sub

  75. Matt  

    If you want to have the BCC recipient virtually hidden (IE the address doesnt show) the closest i got was to change the line:

    strBcc = “[email protected]

    to

    strBcc = “”[email protected]

    You will probably want to copy and paste the above to get it right.

    This will not show the email used for bcc but does instead just display ” (empty address), although it appears to be impossible to turn this off completely as if you look at your senders name it ‘fname lname’ in the same quotes, which means all named address’s are quoted, so the best you can do is set it to nothing.

    Hope that helps someone else out instead of paying out for software to do the same.

    If anyone has a better solution to hide the BCC recipient please let us know 🙂

  76. Matt  

    Actually the above code wont work, the submit/comment box decided to reformat it:

    Get the code from here: http://pastebin.com/TmWvB3Ry

  77. Dat  

    I think there’s a way that must be easier:
    – In Outlook 2010, click File->Account settings, select the account you want to auto bcc (must be imap account) then Change->More settings.
    – In Sent items tab, select “Save sent items in the following folder on the server” -> then select Inbox folder in the list below.
    – Thats all.
    Regards,

    • Ed Eaglehouse  

      That sounds nice, but impossible: there is no “Sent Items” tab. Hence the need for this workaround.

  78. Vavramidis  

    Hi @ all. Thanks for the code.

    It works fine for me except when there are internal emails address from my company in the ‘Cc’. When i do that the Bcc don’t work. When in the ‘To’ Field or in the ‘Cc’ are externals email address it work’s fine.

    Is there any workaround for that?

    Thanks 🙂

    • Matt  

      This is likely to be your internal mail server causing this and not the script, i would manually test an email and you are likely to see exactly the same thing happen, in which case you need to speak to your mail server admin to get it fixed.

      🙂

  79. nu fatcat  

    your script works wonderful. thank you so much!!

  80. Aaron  

    This worked for me the first day only then I could not get it to work again and my work does not have an Internal Mail Server. I am using Office 2003

    • Fabien  

      Fix your Security Level in Trust Center to allow for macros else the macro will no be active after your restart Outlook.

  81. Vicki  

    How would I code if an email arrives from [email protected] then BCC [email protected].

    Thanks

  82. B()B  

    Try the option “enable all marco’s”
    Developers tab – Marco security – macro settings

  83. ann  

    I’ve got the Bcc field showing on my ‘new email’ templates. However, once I’ve Bcc’d a whole list of email addresses, after sending the email, when I go back to it to remind myself who i sent it to – the list of Bcc addresses isn’t showing. I need to be able to see who’ve I may have missed out, etc. How do I find out who I bcc’d?

  84. Bain  

    Hi followed, as described in the post, am sending to a gmail account, when tested i got the mail but showing my mail address in cc but not in bcc.
    How could i stop showing the cc
    Thanks in advance

  85. Andy  

    I have been working on this a little and would like to add the solution to getting the script to BCC from only a select account:

    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

    If Item.SendUsingAccount = “ACCOUNT NAME” Then
    strBcc = “BCC EMAIL ADDRESS GOES HERE”
    End If

    Set objRecip = Item.Recipients.Add(strBcc)
    objRecip.Type = olBCC
    If Not objRecip.Resolve Then
    If res = vbNo Then
    Cancel = True
    End If
    End If
    Set objRecip = Nothing
    End Sub

    Please note that the “ACCOUNT NAME” above is the name of the account when you created it can can be found by opening the email account settings, clicking ‘more settings’ then the account name will be under the general tab.

    Good luck!

    • Jack  

      Hi Andy, thanks for your solution.
      Is it also possible when I have one account, with multiple emailadresses in it?

    • Cheenu  

      Hello. I copied and pasted this code. I have 5 email accounts set up on my Outlook 2010. I am not using an enterprise server and connect direct to the internet. 4 of my email IDs are managed by Gmail and 1 is managed by another provider.

      I want to bcc my emails sent only from the 1 account managed by a provider other than Gmail.

      The problem I am facing is that all emails that I send, even from my other email IDs are being BCCd back to me. How can I stop this?

      I have made changes to the relevant portions in the following code:

      If Item.SendUsingAccount = “ACCOUNT NAME” Then
      strBcc = “BCC EMAIL ADDRESS GOES HERE”

      Do I have to remove the “” in the above code?

      I am using Windows XP with Outlook 2010.

      thanks much!!!

      • Cheenu  

        Andy! My apologies! I realized that I had installed another program, Auto BCC which was running in the background.I removed that software, and this code works just fine!!! Thanks!!

    • Gary Kelleher  

      Thanks for the solution

      This makes it a little better –

      If Item.SendUsingAccount = “ACCOUNT NAME” Then strBcc = “BCC EMAIL ADDRESS GOES HERE” Else Exit Sub End If

  86. Alexis  

    Why won’t this code work after the computer is rebooted. It worked great the day I did it, and I logged in this morning, and I can’t get it to work again. HELP!

    • Fabien  

      See answer above.

  87. kathleen  

    This worked great on the first day. I can’t get it to work again. HELP!!

    • Fabien  

      Fix your Security Level in Trust Center to allow for macros else the macro will no be active after your restart Outlook.

  88. CostSaving Doron  

    Great code, Andy your addition to particulare account is just what I was missing
    Thanks guys

  89. Alex Angerhofer  

    thanks a lot. That made my day! Alex.

  90. Matt  

    What if I want to show the BCC in the address bar, so that users can choose not to BCC if they want…for personal mails for instance?

  91. aileverte  

    Thank you! Just what I was looking for. I have given up on the Outlook syncing applications which never work the way I want them to, and decided that good old “primitive” methods, like self-BCC, will do just fine. Thanks for making it so easy!

  92. Patrick  

    This
    code work perfectly at my office but isn’t working at home or in a hotels. I
    can still add manually add address into de BCC field when I’m at home or at the
    hotel and it’s working well. Any idea?

  93. wowonet  

    Thanks! Works perfectly! I use Outlook 2010 with Exchange and multiple POP3 accounts plus I have conversation view turned on. When I reply to an e-mail sent to my Exchange account, the reply will appear with the conversation because of Exchange settings. That is not the case with POP3 accounts. Now that the replies are bcc’d, they appear in the conversation. I set up a separate gmail account for the bcc field so that it doesn’t matter which account from which the reply is sent. It shows up in the right conversation. I know, a bit overboard, but hey, if you can, why not?

  94. Yogesh Parkar  

    Thanks a lot it worked for

  95. Absolutely perfect! Thanks for the info!

  96. Cindy  

    HIHI!! I have tried this a month before and it did work successfully.
    However, it is not working in these few days. I have tried to do all the process again, but it still not working.
    Do you know why?
    Thanks!

  97. Macallan  

    The code is great however it does not work in the following situation. When creating a document in Word and using the option Save and send, then Send as attachment or send as PDF, such an email does not send to BCC set in VBA despite enabling all macros both in Outlook 2010 and Word 2010 as well as “Trust access to VBA projects” in Word security options. I will be grateful for any hints how this abstacle can be overcome.

  98. Worked great the first time, very detailed and SOOOO much appreciated!

  99. Eric Mols  

    Thank you for your post, it realy helped me.

  100. Hello, this works great, thanks. I do have a question. I also sometimes (OK, a lot), send e-mails from my iPad, and sometimes phone and webmail. I assume that for the instances when sending e-mail in those situations, I must still add the BCC manually? Is there a server solution so I never need to even think about adding BCC manually again if away from my laptop (that has this solution installed)?

    Thanks

  101. wjlToronto  

    How this post solved my BB10 sync issue
    This may be an old post but it is still adding value
    It has fixed the last outstanding item in a frustrating workaround for synchronizing Outlook 2010 stand-alone Outlook (POP) account to the Blackberry 10 (BB10). Many Thanks!!
    The story
    •I needed to keep my old [email protected] email address as my prime email address
    •I also needed to continue getting emails via [email protected]
    •I needed to respond to all emails from [email protected]
    •I use a standalone PC running Outlook with a POP account, no Exchange, as my main email client when I’m in my home office
    •I rely on a smart phone (currently iPhone 3G, but might be BB10) to get my emails, contacts, and calendar information when I’m on the road. My 3G does not currently sync emails but does sync calendar and contacts via iTunes.
    •I also use a small laptop with a “copy” of my pst to do emails when I can sit down away from my office (tethered to smart phone). It is crude but works.
    Problem
    The new BB10 does not sync POP calendar, contacts or email, even when attached via USB to the PC.
    Solution
    •I tested many solutions but settled on Gmail IMPA
    •I now have two Outlook accounts, [email protected] (POP) and [email protected] (IMAP) and they come with the usual data files/folders. The IMAP data folder is synced with Gmail, and the POP data folder is in sync with the IMAP data folder
    •The Gmail account (in Outlook) insists on sending from [email protected]. If I use the POP account to manage all emails it will always send them from [email protected]. But….
    New Problem
    •When sending from the POP account the sent emails do not end up in my Gmail folder or the Gmail account. I needed a way to BCC [email protected]
    •And now you know how this post solved my problem.
    •I now use my POP account for all emails. Everything gets forwarded/copied into the Gmail IMAP account and if all does well, I should be able to fully sync BB10 or iPhone and maybe even my laptop from Gmail
    •In addition, I can continue to automatically backup my POP to a pst for archiving and DRP.
    •Now I just need to sync calendar and contact info between Outlook 2010 and Gmail and get Gmail to sync with the smart phone

  102. wjlToronto  

    ….and I just realized the whole solution has a big flaw. The POP account will not stay synced with the IMAP account due to Rules and due to manual cahnges, i.e. moving emails to folders. hmmmm.

    I’m back to trying to solve the first IMAP problem; how can I get the Outlook IMAP account, [email protected] to send emails that say they are from [email protected]?

  103. Facetti  

    Here the solution to BCC every mail to the senders address aka self-bcc :

    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim objRecip As Recipient
    Dim strMsg As String
    Dim email As MailItem
    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

    Set email = Item
    strBcc = email.SendUsingAccount.SmtpAddress

    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
    End If
    End If

    Set objRecip = Nothing
    End Sub

  104. Facetti  

    Here the minimized solution to BCC every mail to the senders address aka self-bcc :

    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim objRecip As Recipient

    Set objRecip = Item.Recipients.Add(Item.SendUsingAccount.SmtpAddress)
    objRecip.Type = olBCC
    objRecip.Resolve
    End Sub

  105. Facetti  

    More stable version :

    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim objRecip As Recipient

    Set objRecip = Item.Recipients.Add(Item.GetInspector.CurrentItem.SendUsingAccount.SmtpAddress)
    objRecip.Type = olBCC
    objRecip.Resolve
    End Sub

  106. Chris  

    Hello,

    This is cool, what I am trying to do is sort of similar to this.

    What I am trying to do is create VBscript to CC or BCC (it doesn’t matter which) in the mailbox that I am sending from. I have a total of 5 mailboxes, including my personal and 4 shared boxes. I don’t want this applied to my personal or 1 of the shared, so I want to specify the mailbox names that it is being sent from. If it is one of the 3 it will place a copy of the email being sent into the inbox of the mailbox being sent from.

    I know this can be easily done with creating rules, but we have shared mailboxes and due to how we log in, some people don’t like the rules and they uncheck them, very irritating. Also it appears there is no way to record a macro in Outlook, just create one.

    I am trying to do something like this:

    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

    If From = “[email protected]” Then
    Forward.Recipients.Add “[email protected]
    End If

    If From = “[email protected]” Then
    Forward.Recipients.Add “[email protected]
    End If

    If From = “[email protected]” Then
    Forward.Recipients.Add “[email protected]
    End If

    End Sub

    I am not familiar with VBScript in Outlook at all, starting to get familiar with it in Excel though. Can someone please take a look at this and see if you know how to do this?

    Thanks,

    Chris

  107. Chris  

    Hello,

    Thanks to a post from Andy that I originally overlooked I figured out how to do this. Andy’s post only utilized 1 mailbox, so I just added two more if/then statements for the other two mailboxes. Here it is.

    Chris

    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

    If Item.SendUsingAccount = “[email protected]” Then
    strBcc = “[email protected]
    End If

    If Item.SendUsingAccount = “[email protected]” Then
    strBcc = “[email protected]
    End If

    If Item.SendUsingAccount = “[email protected]” Then
    strBcc = “[email protected]
    End If

    Set objRecip = Item.Recipients.Add(strBcc)
    objRecip.Type = olBCC

    If Not objRecip.Resolve Then
    If res = vbNo Then
    Cancel = True
    End If
    End If

    Set objRecip = Nothing

    End Sub

  108. Chris  

    I needed to restructure the code a little bit, the previous code would send it to the last mailbox that was listed when it was initially saved as a draft. I don’t understand why since it even showed it didn’t equal the last mailbox. I should have known better than to code it like that anyway, sloppy. The code below will work better and has structure to it.

    Chris


    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

    If Item.SendUsingAccount = “[email protected]” Then
    strBcc = “[email protected]
    Else
    If Item.SendUsingAccount = “[email protected]” Then
    strBcc = “[email protected]
    Else
    If Item.SendUsingAccount = “[email protected]” Then
    strBcc = “[email protected]
    End If
    End If
    End If

    Set objRecip = Item.Recipients.Add(strBcc)
    objRecip.Type = olBCC

    If Not objRecip.Resolve Then
    If res = vbNo Then
    Cancel = True
    End If
    End If

    Set objRecip = Nothing

    End Sub

    • Frank  

      Hi Chris,

      I hope you can help me. This is almost what I need. However, I also need to able to differentiate by Subject line to include or exclude BCC. Do you have any idea on how to do that? Or maybe someone else here can help?

      Thanks,

      Frank

  109. Chris  

    I posted an answer here: http://answers.groovypost.com/questions/2099/outlook-2010-vbscript-to-cc-or-bcc-in-the-inbox-that-is-being-sent-from?page=1#2185

    There are 4 posts from me, 1 asking the question and 3 answers. The most recent answer is the best solution. Look for the newest post by zines, this solves the issue when the email is saved as a draft.

  110. Facetti  

    If you like to have a BCC to the email account you are sending from, here a bulletproof version:

    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim objRecip As Recipient

    On Error GoTo Fin
    Set objRecip = Item.Recipients.Add(Item.GetInspector.CurrentItem.SendUsingAccount.SmtpAddress)
    objRecip.Type = olBCC
    objRecip.Resolve
    Fin:
    End Sub

    • Chris  

      The script from Facetti will work if you want all mailboxes BCC in, but my previous post is for if you only wanted certain mailboxes BCC in. My post also fixes the issue that most scripts have when an email is sent from a Draft, most script don’t work. I haven’t tested Facetti’s script if it works with the draft issue or not, but mine works for my needs because certain mailboxes I do not want a BCC from and it correctly works with draft emails.

      • Facetti  

        The script also works from a draft.The “On Error..” fix this.

        • Cynthia Dai  

          Thanks Facetti, I use the one w/o “On Error” and the email sent from a Draft working fine.

          • Facetti  

            thanks for the confirmation! It’s a pleasure to simplify your e-mail life 😉

  111. Engineer A  

    For all those people who added the code, then had it stop working after resetting PC. You need to enable macros in the developer tab!!! At very least, select notifications for all macros, but you will receive a pop-up every time unless you enable all macros.

  112. CarelH  

    Works like a dream, thanx a mil for the post.

  113. Iblees  

    Magic stuff.

    Exactly what i was looking for. Thanks!

  114. jeff  

    It will not let me copy and paste Ite Send

  115. Stephanie  

    This worked great for me at first, but it is now CCing instead of BCCing. I can’t have everyone know I’m ccing another address and now can’t seem to remove the code at all now. Any tips on completely removing this code so it stops?

    • Chris  

      Hi Stephanie, look at my post here, I posted an answer here: http://answers.groovypost.com/questions/2099/outlook-2010-vbscript-to-cc-or-bcc-in-the-inbox-that-is-being-sent-from?page=1#2185. I have not had any issues with this and I have been using it for a long time now. I gave it to one of my co-workers and he hasn’t had any issues either.

      This will only BCC the mailbox of the mailbox being sent from and you have to specify which mailboxes being sent from. For example, we have 5 mailboxes in our group but only want 3 of the mailboxes to BCC in, so the code is designed to only BCC in 3 of the mailboxes, instead of all 5. You can easily customize it to BCC in how many mailboxes you want. All you need to do is to delete 2 of the 3 if/then statements if you only want one mailbox or add more if you want more than 3, etc. The part that needs to be edited is where it says [email protected]. Overwrite those mailboxes with your mailboxes.

  116. sakrai  

    Thank you very much! I love it.
    It helps my jobs easier more than past.

  117. Jodi  

    I had to find a different path to automatically BCC myself. I tried the VBC code but couldn’t get it working again after the first day.

    The solution I came up with was creating a rule in Outlook that applied to all email I sent, it would ‘move a copy to a specific folder’, and I created no exceptions. I named it BCC so I’d remember what the rule does.

  118. Jo  

    I am using this VBA successfully but need a way to NOT bcc certain addresses. I’ve applied a “personal” category to the addresses I don’t want copied to Zoho and added this to the code:

    If Item.Categories = “Personal” Then
    Exit Sub
    Else

    However, those “personal” addresses are still being BCC’d.

    Is there a way to select certain addresses (about 10 in all) that I never want to be BCCd?

    • Chis  

      I posted the answer to this question here. It allows you to specify what email addresses you want to use, as many or as few email address that you want. All that needs to be done is add to the “If” statements or delete “If” statements. You need one “If statement for each email address. So in the example that I posted there are 3 email address and 3 “If” statements, one for each email address. If this works for you, please vote on it, click the up arrow to show it was helpful.

      http://answers.groovypost.com/questions/2099/outlook-2010-vbscript-to-cc-or-bcc-in-the-inbox-that-is-being-sent-from?page=1#2185

      • Jo  

        Thanks for replying, Chris. Sorry if I was unclear in my aim. I want to bcc every outgoing email from all mail accounts to my Zoho address.

        However, I do not want personal mail being bcc’d to this address.

        So the number of addresses that I DO want bcc’d will be in the many hundreds, and will grow each day. The number of addresses that I do not want to have mail bcc’d to is about 10.

        I am currently achieving this nicely with Ablebits’ Auto BCC but it costs $$ so I’m hoping to the same thing with VBA.

  119. Tom  

    Thank you thank you thank you for the coding for the auto bcc!!

  120. abluhm  

    Thank you so much for this article it was very very useful!!

  121. Ken  

    Thanks! Now I can see the emails I send on my iPhone! Is there a way to do the same from my iPhone?

  122. Deep Vaishnav  

    Great. This works.

  123. medo  

    Hello, thank you for your work (and sorry for my english…),
    i make my code… why it send last bcc mail (3EMAIL) twice?

    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

    If Item.SendUsingAccount = “MYACCOUNT” Then
    strBcc = “1EMAIL”
    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
    End If
    End If
    End If

    If Item.SendUsingAccount = “MYACCOUNT” Then
    strBcc = “2EMAIL”
    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
    End If
    End If
    End If

    If Item.SendUsingAccount = “MYACCOUNT” Then
    strBcc = “3EMAIL”
    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
    End If
    End If
    End If

    Set objRecip = Item.Recipients.Add(strBcc)
    objRecip.Type = olBCC
    If Not objRecip.Resolve Then
    If res = vbNo Then
    Cancel = True
    End If
    End If
    Set objRecip = Nothing
    End Sub

    • medo  

      I’ve seen a mistake, this is the correct code, now i can send a different bcc mail with a different mail account! Thank folks!

      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

      If Item.SendUsingAccount = “MYACCOUNT” Then
      strBcc = “1EMAIL”
      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
      End If
      End If
      End If

      If Item.SendUsingAccount = “MYACCOUNT” Then
      strBcc = “2EMAIL”
      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
      End If
      End If
      End If

      If Item.SendUsingAccount = “MYACCOUNT” Then
      strBcc = “3EMAIL”
      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
      End If
      End If
      End If

      Set objRecip = Nothing
      End Sub

  124. Justin  

    Hi,

    I’ve had this working successfully for a long time but recently added a secondary email account to Outlook and now I receive the “Could not resolve…” error when I try to send.

    Any suggestions?

    Thanks

  125. Philip  

    Hmmm

    So if i wanted to add a colour category and category text to the bcc email how would I do that?

    so if i add a colour category…i can filter and auto move it to another folder….

    thanks!

  126. harish  

    thanks alot bro……………!!

  127. motaba  

    this wonderful thank u a lot

  128. bivek  

    please provide me silent bcc code…

  129. lion  

    Gracias!

  130. Chantal M. Van  

    THANK YOU for posting this!!!! It was very easy and worked!

  131. Jennifer  

    Can someone tell me how to update the code to only BCC myself when I send an e-mail to a certain e-mail address?

  132. Andrew  

    I have tried all variations of the above and the email ends up being sent as CC. We are using an exchange server and Outlook 2007
    I have manually tried the BCC and that works just fine. The VBA however, resolves to a CC which defeats the purpose of the BCC intent.
    Is there a solution?

  133. Ken  

    I am new to this and would like to know how to prepopulate the BCC Field with my email address before I send. That way if I don’t want to BCC myself I can just remove the BCC address.

    Thanks, [email protected]

    • Kumo  

      I want this too as I frequently need to BCC my task account (my ‘waiting for an answer’ section), but certainly not for all emails.
      The way it works now is that all mails are BCC’ed to the email I indicate in VBA, but not visible in the BCC field itself.
      Any ideas?

  134. Grant  

    I applied the code in Outlook 2013 enable Macros just to be sure, but it does not work.

    Does anyone have a work around for Outlook 2013?

    If so will this enable the same settings in Office 365 by chance?

    Any feedback would be greatly appreciated!

  135. gdr  

    I love you. Thank you so much.

  136. Franklin  

    Hi, I am still using outlook 2007 but might eventually move to a newer version. This seems to work for me as long as i disable macro security. I might try signing the macro and trusting the publisher just to make it safe. My boss is interested in getting copies of the emails sent by employees. Is there a way to prevent the user from disabling the macros completely or from editing the macro? Thanks.

  137. Ken  

    this worked great the first time I tried this. I have a new computer and followed the exact same directions, but now none of my emails are going out. they are all “stuck” in my out box….

  138. jeff  

    Awesome assistance. helped out when needed most.
    Thanks

  139. E.Manolis  

    Hey

    Thanks for this usefull tutorial..!! what i have to do to add multiple bcc recipients on the original code which you provide.

    Could you provide me with the code with mutiple recipients.

    Thanks
    E.Manolis

  140. Just wanted to say thanks for the great article about automatically BCCing in Outlook. Very helpful. Excellent!!!
    Many thanks!
    Gary

  141. cathy e.  

    thanks so much for this article! it worked for me..

  142. Victor Arteaga  

    You can achieve basically the same result by creating a rule that applies to all sent messages and make a copy to a specified folder.

  143. Oliver Kuhlwilm  

    How do I set this up for two recipients (what must the “line(s)” with the email addresses look like)?

  144. Fea Sent  

    Hi,

    Thank you very much. It works for me.

    Rgds,
    Fea

  145. Angela  

    Does not work for forwards or replies…..otherwise fantastic. Any idea on how to make it work for all items I send, not just new msgs?

  146. cd  

    thanks!

  147. Nick  

    Hi there,

    Thanks very much for the post.

    I have followed the steps in Outlook 2010 – it worked for the first day, but (even after adjusting the macro security to ‘notifications for all macros’ and then clicking ‘enable macros’ on re-start of the programme), it is failing to work now (the 2nd day)??

    Any help much appreciated! Thanks

  148. Alana  

    Hi,
    I’m trying to set this up but keep receiving an error msg. HELP PLEASE.
    After inputting:
    15strMsg = “Could not resolve the Bcc recipient. ” & _
    16 “Do you want still to send the message?”

    They light up “red” and I receive the below error message

    Compile error
    Expected: end of statement

    What am I doing wrong?
    Thanks

    • Cristian Zamora  

      @Alana

      I was having the same issue and what did it for me was changing the quotes. When I used copy and paste, there were slanted type quotes, when I replaced those with the quotes from my keyboard everything was OK

  149. Chris  

    This is a brilliant tip.
    Here are 2 questions:

    1) I have 3 email addresses – one is via an exchange mailbox and the other two are provided through Google.
    Is it possible to edit the script so it ignores mail sent from the other email addresses and only sends the BCC from one of the accounts (one of the Google accounts)?

    2) Can the code be edited so it works for forwards or replies?

    This would turn something good into something GREAT!

  150. Mike  

    the code works, thank you for that as it put me on the path to what i wanted to do overall (actually see the BCC field appear). to do that, i’ve added a bit for anyone looking for this type of resolution.

    Private Sub Application_Startup()
    Set myOlInspectors = Application.Inspectors
    End Sub

    Private Sub myOlInspectors_NewInspector(ByVal Inspector As Outlook.Inspector)

    Dim Item as mailitem

    If Inspector.CurrentItem.Class = olMail Then

    Set Item = Inspector.CurrentItem

    If Item.Sent Then
    Debug.Print “Reading a received mail.”

    Else

    With Item

    Dim objRecip As Recipient
    Dim strBcc As String

    On Error Resume Next

    strBcc = “[email protected]
    Set objRecip = Item.Recipients.Add(strBcc)
    objRecip.Type = olBCC
    Set objRecip = Nothing

    End With

    End If

    End If

    End Sub

  151. Stephen B  

    Hi,

    Could anyone help me, I have the following macro, and would like to add another e-mail address, any idea?

    Private Sub Application_ItemSend(ByVal item As Object, Cancel As Boolean)
    Dim objMe As Recipient
    Set objMe = item.Recipients.Add(“[email protected]”) ‘adres to youre boss
    objMe.Type = olBCC
    objMe.Resolve

    Dim strMessageClass$
    strMessageClass = item.MessageClass
    If (strMessageClass = “IPM.Note”) Then
    item.OriginatorDeliveryReportRequested = False
    item.Save
    End If

    Set objMe = Nothing
    End Sub

  152. Tom  

    Very useful, thank you!

    I cc. myself with a rule as it keeps me on top of email admin / latest sent message without having to look at sent items, and I’m able to always delete old messages in the thread. I get curious questions from e.g. my boss asking why I copy myself in, which makes me feel as if it looks silly to others, or over-officious.

    So this is a much better way of doing it!

  153. Michele  

    Just want to say “thanks” this is great! Worked in Outlook 2013.

  154. Bryan  

    Hi Mr. Groov! It works! Thanks a bunch!!!!!! 🙂

  155. Tom  

    Strangely, this worked very well then suddenly stopped working in the same afternoon. Is there anything that springs to mind that could cause this – some kind of internal security tracing any users’ VB in Outlook or something?

  156. phil  

    i was hoping someone could help me, i am looking to send and email to a specific email address from my works email but bcc in another email

    so, works email send to specific email and bcc home email?

    can anyone help me with this?

    thanks

  157. chris hall  

    I’ve been tasked with modifying an outlook OTM file that currently ask the users a question when sending mail

    The OTM file asks the users if they would like to send a copy of the mail there sending to a predefined mailbox (BCC)

    What I need to do is change the script so it reads group membership of the user and based on the group membership gives them a drop down box. this drop down will give them a choice of mailboxes to BCC the mail to.
    for example

    If user A is a member of group DomainprojectA and domainProjectB then the dropdown would give the user the drop down box when sending a mail to choose between the projectA and Project B mailboxes for Bcc.

    Is the above possible?

    the current OTMfile has the below code in it.

    I hope this is possible

    Thanks chris

    • chris hall  

      Sub DateStamp()
      ‘by simon rickell
      Dim objApp As Application
      Dim objItems As Object
      Dim objItem As Object
      Dim objNS As NameSpace
      Set objApp = CreateObject(“Outlook.Application”)
      Set objNS = objApp.GetNamespace(“MAPI”)
      Set objItems = objApp.ActiveExplorer.Selection
      For Each objItem In objItems
      If objItem.Class = olMail Then
      If Left$(objItem.Subject, Len(objItem.SentOn)) Format(objItem.SentOn, “YYYY-MM-DD HH:MM:SS”) Then

      objItem.Subject = Format(objItem.SentOn, “YYYY-MM-DD HH:MM:SS”) & “-” & objItem.Subject
      objItem.Save
      End If
      End If

      Next

      Set objItem = Nothing
      Set objNS = Nothing
      Set objApp = Nothing
      End Sub

      Sub Create_Button()
      Dim cbTesting As CommandBar
      Dim ctlCBarButton As CommandBarButton
      Dim ctlCBarCombo As CommandBarComboBox
      Dim ctlCBarPopup As CommandBarPopup
      On Error Resume Next
      Set cbTesting = Application.ActiveExplorer.CommandBars(“Shepherd”)
      If Err = 0 Then
      cbTesting.Delete
      End If
      Set cbTesting = Application.ActiveExplorer.CommandBars _
      .Add(Name:=”Shepherd”, Position:=msoBarTop)
      Set ctlCBarButton = cbTesting.Controls.Add(Type:=msoControlButton)
      With ctlCBarButton
      .Caption = “Date Stamp”
      .FaceId = 2167
      .Style = msoButtonCaption
      .Visible = True
      .OnAction = “Project1.ThisOutlookSession.DateStamp”
      .TooltipText = “Date stamp an item of mail with the received date”
      End With
      cbTesting.Visible = True
      End Sub

      Sub CCProjMail()
      ‘by Allan Scott
      Sub Application_ItemSend(ByVal MailItem As Object, Cancel As Boolean)
      Dim projMail As String
      Dim ask As String
      ask = MsgBox(“Send a copy to ‘Computer Helpdesk’ Project Mail Box?”, _
      vbYesNo + vbQuestion, “Project eMail”)
      If ask = vbNo Then
      ‘Resolve the address
      MailItem.Recipients.ResolveAll
      MsgBox (“Your email will be sent as normal”), vbOKOnly + vbInformation
      Else: ask = vbYes
      projMail = (“”)
      MailItem.CC = MailItem.CC & “;” & projMail
      ‘Resolve the address
      MailItem.Recipients.ResolveAll
      MsgBox (“Your email will be sent with a copy sent to ‘Computer Helpdesk’ Project Mail Box”), _
      vbOKOnly + vbInformation

      End If
      End Sub

  158. Tikk  

    Hi
    i added this and it is working well.
    but, i need to give the machine back. how to delete this AUTO BCC VB project from outlook before handing over my windows laptop
    thanks in advance

  159. sv3  

    Have use this BCC macro successfully in Outlook 2013. Just upgraded to Outlook 2016 and the auto-BCC function does not work. The script is in the ThisOutlookSession as before (came across in the upgrade), I’ve re-saved but it does not run.
    Also, when I re-start Outlook the macro warning does not appear.
    Any suggestions?

    • Cristian Zamora  

      Having the same issue as sv3…

      Several different iterations of the script worked fine with Outlook 2013 and Office 365, but I just updated to Windows 10 and then Office 365 2016 and this no longer works… I don’t even get a popup asking me to verify the security certificate like I did in Outlook 2013.

  160. sv3  

    OK. So it’s working now, but I can’t exactly say why.
    Here’s what happened today.
    Windows 10 upgraded to Insider Preview 10565
    I went to Outlook’s Developer area and began to “create” a macro, but pulled out of doing that because I was not confident in what I was doing. When I was invited to save changes I clicked “no”.
    I went to macro security and picked “enable all macros” (which I’d done several times earlier without success).
    Now it’s working as before 2016!!
    Just to check, I went back and selected the 2nd security option and the Bcc did not work.
    Reverting to the last security option brought it all back again – I had been re-starting Outlook each time in case that made a difference.
    Cheers!

    • Cristian Zamora  

      Can you post a copy of the script that you’re using because I had tried using the “Enable all macros” option without any luck.

  161. sv3  

    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 = “[email protected]
    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
    End If
    End If

    Set objRecip = Nothing

    End Sub

    • Cristian Zamora  

      Thanks sv3, I got it working but I’m gonna have to search back and see what to add in so that it will only bcc if being send from a certain account.

  162. Johnm  

    Thanks alot man for this helpful info

  163. Benjamin  

    I had the reverse experience from others. I could not get it to work… saw the bit about the macro setting…. made the change…. still could not get it to work. So I figured if restarting the machine made it not work for others, maybe it will make it work for me.

    Sure enough, it did.

    Time will tell if it lasts….

  164. jude  

    How do I get rid of this code. I added it and it shows the email that has been bcc’d in the cc’d field.
    I need to stop this from happening.
    Can you help me?

  165. hammad  

    How to hide BCC email address to another person receivde E-Mail

  166. Christine james  

    Wow – it works! instructions were so easy to follow. Fantastic – works like a charm. Thanks you clever people.

  167. Dan  

    Do these steps work for Outlook 2013? I got it to work the very first time, but once I exited Outlook it hasn’t worked again.

    Thanks for any tips you can provide.

  168. Park Mansoo  

    I would like to BCC when sending mail to a particular account.
    No matter, no matter how makes sense not to try to find.
    I ask for help.

  169. Park Mansoo  

    I succeeded, sending mail to BCC by setting as follows.
    However, only certain email account other than the person who sends in the following wording would like to (recipient) settings.
    No matter how the test should be
    Can I get help?

    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

    Dim strSendAccount As String
    strSendAccount = Item.SendUsingAccount.SmtpAddress

    Select Case strSendAccount

    Case “[email protected]” ### Send Mail Address
    strBcc = “[email protected]” ### BCC Mail Address

    Case Else
    Exit Sub
    End Select

    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
    End If
    End If

    Set objRecip = Nothing
    End Sub

  170. Helene des Rosiers  

    I am so impressed. Has worked great on first try! And I am usually very timid as far as trying computer stuff. Many thanks!

  171. Sauzer  

    Hi, the script worked just for one day, then it stopped working. I checked and rechecked the macro security options and even if I enable everything the script doesn’t work. I’m running Office 2010, there’s anything else I can do?

  172. Tom Donnelly  

    Another easy option if you do not want to introduce VBA/Macros into your environment would be to create a blank Outlook rule, apply on messages you send, and leave the first conditions blank–which will apply to all emails–and then select the option to move a copy to specified folder, which you select inbox, and finish the rules wizard.

    This will do basically the same thing without the macro.

    The VBA works very well by the way

  173. Marid  

    instead of that long code use a short one to BCC all outgoing mail for multiple emails
    Just add this code and replace what between the double quotas. Use to recipients or more :

    Set objRecip = Item.Recipients.Add(“[email protected]”)
    objRecip.Type = olBCC
    objRecip.Resolve
    Set objRecip = Item.Recipients.Add(“[email protected]”)
    objRecip.Type = olBCC
    objRecip.Resolve

    • Sal Shew  

      When I use this code I get the “Could not resolve the Bcc recipient. Do you want still to send the message?” error.

      (Initial instructions and code works fine for single Bcc recipient.)

  174. Joyce  

    Thanks for the instruction, it really a great helpful for Outlook 2013.

  175. Andre  

    Ok. This used to work until I upgraded my computer to Windows 10. Can someone please help.

    • Ed Eaglehouse  

      @Andre: I just upgraded to Windows 10 and my Outlook 2010 is still working fine to BCC me. Make sure you enable macros when you start the application. If that doesn’t work, I would suggest replacing the rule (install a fresh copy of the macro) and rebooting.

  176. Lindsay  

    Hello –

    The code works well for me, with new emails, forwards, and replies.

    However, I’m looking for a way to exclude the BCC if the email is sent to specific email addresses. Kind of like when setting up a rule you can list emails as an “except if sent to…”.

    I have two different jobs in my company and I don’t want to BCC myself if the email is sent to people in my company from the first job. I have a list of emails I can exclude, but I don’t know how to add it to VBA code.

    Any idea?

    Thanks!

  177. This is really helpful thank you. But do you know how to set this automatically bcc someone only if the subject line has a specific message ??

  178. Andrew  

    Hi,

    Is there a way for the code to have the email i chose to bcc to show up on my emails before i send them out?

    Thanks,

  179. ali jees  

    its a nice macro but facing the the one issue (when I go to sent items BCC field is visible to me, I want to hide it from myself as well so that even it is not visible to me)
    in sent item show bcc option i want to not show in sent item

  180. Norberto Bochner  

    No need to write code (therefore no need to reduce security), there is a simpler method:
    In the Home screen, select “Create New” in “Quick Steps”.
    Give it a name, for example: NewMail.
    In the Select Action window select “New Message”
    Click in “Show Options”
    Click “Add Bcc” and insert the required email address to Bcc in the Bcc window.
    Click Finish.
    Now, every time you want to write a new email, just click on the quick step that you created, and the Bcc will be added automatically, however, no Bcc will be added for forwarding or replay.
    For that you have to repeat the above steps and create quick steps for forward, replay and replay for all.

  181. Oz  

    Hi – this is great, and the comments are really interesting to read.

    I am using this instead of the hubspot add-in that causes my outlook 2016 to become totally unresponsive.

    My need is slightly different. I want control over which outgoing emails this is activated on and wonder if it can be run from a button ie a macro button that adds the desired email address to the bcc field

  182. chris  

    Hi

    is there a way, when you go to the sent items that the sent email do not show that there was a bc in that particular email?

  183. Matt  

    Hi, thanks for the comments on here. I am using Outlook 2010.

    I can get the basic code to work for all email accounts, but not if I try to use it for certain accounts or if I want it to prompt for the Bcc. I get compile errors. The errors include expected end of line and the line stays red.

    I want to Bcc to a POP3 address when I send from an outlook.com or gmail.com address.

    Any ideas how I can get this working?

    Many thanks.

    Matt

  184. Matt  

    as soon as i enter the @ in the [email protected], I get a compile error?

  185. Matt  

    This is the code I am suing….. I have highlighted the lines than are red and therefore have errors in them:

    Dim objRecip As Recipient
    Dim strMsg As String
    Dim res As Integer
    Dim strBcc As String
    On Error Resume Next

    If Item.SendUsingAccount = “[email protected]” Then (ERROR)
    strBcc = “””
    Else
    If Item.SendUsingAccount = “[email protected]” Then (ERROR)
    strBcc = “””
    End If
    End If

    Set objRecip = Item.Recipients.Add(strBcc)
    objRecip.Type = olBCC

    If Not objRecip.Resolve Then
    If res = vbNo Then
    Cancel = True
    End If
    End If

    Set objRecip = Nothing

    Any ideas where I am going wrong?

    Many thanks.

    Matt

    • Frett  

      I don’t see any highlighted lines.

      Make sure you are not using SmartQuotes.

      • Matt  

        Hi Frett

        The lines have error at the end…..

        I will try without the quotes…. they might have been on it…..

        Cheers.

        Matt

  186. Mick Russom  

    Doesnt seem to work on replies only new messages.

  187. Claude C  

    Hi,
    Thanks alot for the code.
    I have a small problem with the code…instead of being BCC’ed, i’m being CC’ed.
    How can i solve this?
    Thanks again.

  188. Matt  

    The code below appears to be working to prompt you ask you whether you wish to bcc the email. However, i have noticed that the email is copied in gmail so there are two copies of each email sent.

    Has anyone else noticed this?

    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
    Dim objMsg As Outlook.MailItem
    On Error Resume Next

    ‘ #### USER OPTIONS ####

    ‘ Address for Bcc — must be SMTP address or resolvable
    ‘ Automatically selects the bcc address from the set “from” setting or
    ‘ to a select email address, your choose
    strBcc = “[email protected]

    res = MsgBox(“Would you like to receive a copy of this message (Bcc)?”, vbYesNo + vbDefaultButton1, _
    “BCC Message”)
    If res = vbNo Then
    Cancel = False
    Else

    Set objRecip = Item.Recipients.Add(strBcc)
    objRecip.Type = olBCC
    objRecip.Type = Outlook.OlMailRecipientType.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
    End If

    End If

    End If

    Set objRecip = Nothing

    End Sub

    Cheers.

    Matt

Leave a Reply

Your email address will not be published. Required fields are marked *

 

To Top