O Exchange Server na camada de Store – possivelmente o Store Driver – realiza o header injection, no qual insere informações importantes no header (cabeçalho) do e-mail, uma dessas informações é sobre o BCC, no caso de haver algum destinatário no campo de BCC, é inserido também uma linha no header declarando que existe uma copia oculta, e o endereço SMTP no qual receberá a copia oculta.

Essa linha inserida chama-se: X-MS-Exchange-Organization-BCC

Apesar de o Exchange Server não possuir nenhuma Transport Rule declaradamente criada para bloqueio, com essa linha criada no header nos temos as armas suficientes para realizar o bloqueio de e-mails no qual possuem copia oculta.

O primeiro passo é criar uma nova Transport Rule através do EAC – ou powershell – com as seguintes configurações:

Apply This rule if: A message header matches > X-MS-Exchange-Organization-BCC header matches $

Observação: O dólar equivale a um asterisco, serve como um wildcard para qualquer endereço/domínio.

Após isso realize os testes de envio inserindo um destinatário no campo BCC, e veja se a regra foi aplicada:


Caso o intuito seja o bloqueio apenas para os usuários internos, basta ao invés do dólar, utilizar o nome do domínio seguido do dólar:

Lembrando que a transport rule irá bloquear o e-mail para todos os destinatários, independente se estava no campo To ou Cc, todos serão afetados pela rule. Por isso é importante especificar uma mensagem clara na NDR dizendo que a mensagem não foi enviada a nenhum usuário por conta de uma copia oculta.  

No caso de um ambiente hibrido, basta aplicar a regra também no Exchange Online, dessa forma prevenirá o envio também com copia oculta a partir dos usuários que estão no Office 365.

Nota: O header X-MS-Exchange-Organization-BCC não é visível após a entrega da mensagem. Esse header é convertido em X-Ms-Exchange-Organization-Recipient-P2-Type: Bcc para mensagens entregues internamente, e eliminado para mensagens entregues externamente. Portanto para quem deseja fazer um troubleshooting nesse header, ira ter de utilizar o Pipeline Tracing para poder visualizar o header antes de ele ser convertido ou eliminado.