Forward or Bcc a copy of all outgoing mail

mail-rulesmail.app

I've got one machine set up with an email account, using Mail.app.

I'd like to send a copy of all outgoing mail from that account to another email address I have, which is not on the same machine.

I'm trying to set it up like this: if I send an email from mark@example.com, I want to Bcc or forward a copy to sam@example.com.

Is there a way using rules that I can forward or Bcc a copy of all outgoing mail to another account?

Best Answer

Adding a Bcc ("Blind carbon copy") header to your outgoing mail causes your mail server to deliver the mail to the Bcc address, as well as the To and Cc (etc) as normal.

Mail.app can be made to add this header in a few different ways. (The question mentions Rules, but I believe those only act on incoming mail.)

A. Enter an address into the Bcc text box at the top of the mail message

If necessary, use the context menu (shown below) to make the Bcc text box visible, and type an address into it.

Disadvantage here: the text box is empty every time you start a new message.

Mail.app Bcc text box

B. Turn on the "Automatically Bcc: myself" setting

This setting is at Mail > Preferences > Composing > "Automatically Bcc myself".

Mail.app Composing preferences

Disadvantage here: you can only Bcc your own address this way.

There is a workaround to this, though. Turn on "Automatically Bcc myself", and set up a Rule (in Mail > Preferences > Rules) to forward all incoming messages from yourself (here, mark@example.com) to the other person (sam@example.com). This will clog up your inbox with these copies of your sent mail, but you could also set the rule to delete them after performing the forwarding.

However! This workaround seems a little flakey to me: eg, if I understand correctly, if you happen to email yourself (say, send yourself a reminder from your iPhone), then that message will be sent to the other person and then deleted. So I wouldn't recommend it.

C. Set a Bcc value in Mail.app's defaults (hidden preference settings)

There is a hidden preference setting which causes Mail.app to automatically add a Bcc address to all outgoing mail. This can be any address, not just your own. But! This setting can be quite confusing, for two reasons (at least: there may also be other subtleties here that I'm not aware of):

  • The automatically added address isn't visible in the Bcc text box.

  • The automatically added address overwrites anything you put into the Bcc text box (apparently: I haven't tested this detail).

If you want to try this, follow these instructions:

  1. Quit Mail.app

  2. Open Terminal.app (this is in /Applications/Utilities)

  3. Type the following. This creates a backup copy of Mail's preferences file (before we start meddling with it) on your Desktop.

     cp ~/Library/Containers/com.apple.mail/Data/Library/Preferences/com.apple.mail.plist ~/Desktop/
    

    The location of this file changed in 10.7, I think - if you are using an older OS, you'll need to use ~/Library/Preferences/com.apple.mail.plist (I believe) instead.

  4. Now add the preference setting by typing the following. Substitute the address you actually want to use, but be sure to type the rest exactly as shown.

     defaults write com.apple.mail UserHeaders '{"Bcc" = "sam@example.com";}'
    

    (Note: I found this defaults setting in a hint here).

  5. Start Mail.app and test.

Here are some other commands that might be useful:

  • View the current setting:

      defaults read com.apple.mail UserHeaders
    
  • Remove the setting (be very careful to type this one exactly as shown):

      defaults delete com.apple.mail UserHeaders
    
  • Put the backup file you created earlier back into place, undoing any changes:

      cp ~/Desktop/com.apple.mail.plist ~/Library/Containers/com.apple.mail/Data/Library/Preferences/