Exchange Server

Deep Dive – Entendendo o Send On Behalf

  • O que é o Send On Behalf ?

R: É uma permissão concedida a um usuário para que ele envie um e-mail em nome de outra pessoa. Em outras palavras, se eu Denis, concedo permissão de Send On Behalf no meu usuário, delegando o usuário “John” a enviar em meu nome, ele poderá enviar mensagens a qualquer destinatário apenas alterando o campo De/From do Outlook ou OWA, e os destinatários que receberem verão que o envio foi realizado pelo John, mas em nome de Denis.

  • Como conceder a permissão?

R: O Send On Behalf é uma permissão que pode-se aplica-la de três maneiras; através do EAC, através do Powershell ou através do próprio Outlook do usuário que deseja conceder a permissão. Logo após a permissão concedida, basta alterarmos o campo De/From do Outlook. Vejamos o passo a passo abaixo

Através do Exchange Server 2010:

Send On Behalf

Através do Exchange Server 2013/2016:

Send On Behalf Exchange 2016

Através do Exchange Management Shell:

Você pode usar o parâmetro GrantSendOnBehalfTo em mailboxes e grupos. O cmdlet sempre serà um Set- mas irá depender de qual objeto iremos manipular: 

  1. Set-Mailbox
  2. Set-DistributionGroup: grupos de distribuição e grupos de segurança habilitados para email (mail-enabled).
  3. Set-DynamicDistributionGroup

A sintaxe básica para esse cmdlet é:

<Cmdlet> -Identity <MailboxOrGroupIdentity> -GrantSendOnBehalfTo <Delegate>

O parâmetro GrantSendOnBehalfTo tem as seguintes opções para valores de “Delegate”:

Substituir delegates existentes: <DelegateIdentity> ou “<DelegateIdentity1>”,”<DelegateIdentity2>”,…

Adicionar ou remover delegates sem afetar outros delegates: @{Add=”\<value1\>”,”\<value2\>”…; ou Remove=”\<value1\>”,”\<value2\>”…}

Remover todos os delegates: Use o valor $null.

Exemplo, para adicionar permissoes para 3 usuarios:

Set-Mailbox "Contoso Executives" -GrantSendOnBehalfTo @{Add="user1@contoso.com","user2@contoso.com","user3@contoso.com"}

Através do Outlook:

  • Como enviar uma mensagem como Send On Behalf?

Alterar o campo De/From do Outlook:

Ao abrir o campo De/From, selecione na GAL o endereço de quem fara o Send On Behalf:

Alterar campo De/From no OWA:

Após a alteração do campo “De/From”, quando um usuário enviar um e-mail a outro usuário, o mesmo ira aparecer exatamente da seguinte maneira:

Send On Behalf mail

  • O Outlook pode ter duas reações diferentes em caso falha no Send On Behalf

Ambas dependeram de como o Outlook está configurado, se o mesmo está em modo cache ou modo online. Exemplificamos ambas as opções:

Modo cache

Será retornada uma NDR, dizendo que o usuário não tem permissão de envio:

NDR Send On Behalf

É uma boa pratica que se pesque o usuário de uma Address List para poder fazer o Send On Behalf. O Exchange necessita de um nome resolvido para poder fazer o Send On Behalf. Podem se perguntar como funciona então mesmo quando não pescamos o usuário da GAL? Simples, o Outlook sempre tenta resolver o nome utilizando a GAL, mesmo quando não fazemos nós. Notem que ao enviar um e-mail, por mais que escrevemos manualmente no campo “De”, ao clicar em enviar o Outlook resolve o nome colocando-o sublinhado. Por isso mesmo sem pescar o usuário da GAL, muitas vezes funciona. O porém dessa história é quando o usuário que faremos o Send On Behalf não está na GAL. Logo após o Exchange ver que o nome não foi resolvido, o Send On Behalf já será recusado com uma NDR.

Modo Online

Logo após inserir o emitente no campo De/From, o outlook mostrará um pop-up dizendo que o usuário não tem permissão para realizar o Send On Behalf:

Send On behalf Outlook Online Mode

 

  • Send On Behalf por trás das cenas

O Send On Behalf é uma permissão a nível de Active Directory, validada diretamente no Store Driver do Exchange. O Exchange Server confirma que o usuário pode enviar em nome de outro usuário em base ao PublicDelegatesBL, que é o atributo backlink do PublicDelegates.

Portanto, se a usuária Dafne da permissão de Send On Behalf ao usuário Denis, a usuária Dafne irá possuir o atributo PublicDelegates populado com o DN do usuário Denis:

PublicDelegates

Em base ao atributo PublicDelegates, é criado seu backlink chamado PublicDelegatesBL. Esse não é um atributo visível dentro do objeto, na realidade é um calculo que o Active Directory irá fazer a cada requisição:

PublicDelegatesBL

  • Enviar cópia da mensagem para os itens enviados da mailbox com Send On Behalf no Exchange 2010:

Imaginem o seguinte cenário:

1 – Usuário “Ricardo” cede permissão de Send On Behalf para a usuária “Flavia”.

2 – Flavia envia e-mails em nome do “Ricardo” através da permissão de Send On Behalf.

3 – E-mail é enviado, porem “Ricardo” não sabe que aquele e-mail foi enviado, porque a mensagem permanece apenas nos itens enviados da “Flavia”.

Por padrão, um usuário com Send On Behalf não recebe uma mensagem que foi enviada através de outro usuário. O usuário que enviou a mensagem em nome de outro, permanece com o e-mail na pasta “Itens Enviados”. Entretanto o usuário que cede o Send On Behalf não possui essas mensagens nos “Itens Enviados”. É possível alterar isso realizando o comando abaixo no mailbox que possui Send On Behalf:

Set-MailboxSentItemsConfiguration "Ricardo" - SendOnBehalfOfItemsCopiedTo:SenderAndFrom

Dessa forma, os itens enviados por qualquer pessoa que tenha permissão de Send On Behalf no usuário do “Ricardo”, serão também enviados a pasta “Itens Enviados” do usuário “Ricardo”, assim como na pasta “Itens Enviados” de quem enviou a mensagem em nome do “Ricardo”.

  • Enviar cópia da mensagem para os itens enviados da mailbox com Send On Behalf no Exchange 2013, 2016, 2019 e Exchange Online:

Da mesma forma que o Exchange 2010, podemos fazer isso também no Exchange 2013/2016 e Exchange Online. A Microsoft veio a introduzir essa função apenas a partir do CU9 do Exchange 2013. Portanto, por obrigação devemos possuir uma versão igual ou superior. Além das versões on-premises, podemos realizar também essa configuração no Exchange Online.

Set-Mailbox “Ricardo” -MessageCopyForSendOnBehalfEnabled $true

OBS: A feature funciona também em modo coexistente da seguinte forma:

Mailbox Flavia Mailbox Ricardo Itens Enviados
Exchange 2010 Exchange 2010 Funciona normalmente conforme o KB2632409
Exchange 2010 Exchange 2013 (Qualquer Versão) Funciona normalmente conforme o KB2632409
Exchange 2013 CU9 (ou superiores) e Office 365 Exchange 2010 A mensagem será enviada para a “Caixa de Entrada” do Ricardo como um e-mail em anexo*, e para a Flavia será gerada a cópia em “Itens Enviados”.
Exchange 2013 CU9 (ou superiores) e Office 365 Exchange 2013 CU9 (ou superiores) e Office 365 A mensagem será enviada para os “Itens Enviados” de ambos os usuários.

*Segue um exemplo do anexo citado:

Send On Behalf Behaviour

Nota: A Microsoft introduziu um modo pratico de habilitar essa opção no Exchange Online diretamente através da console de Admin Center, porém é disponível apenas para Shared Mailboxes (caixas compartilhadas), para usuários normais é apenas possivel através do powershell conforme mencionado anteriormente:

  • Enviar cópia da mensagem para os itens enviados da mailbox com Send On Behalf no Outlook:

Mencionamos acima exemplos de como configurar a função de enviar uma copia da mensagem enviada através de Send On Behalf para os “Itens Enviados/Sent Itens” de quem originalmente enviou o e-mail. Apesar de ser muito mais fácil o controle disso diretamente através do Exchange, é possível também habilitar essa função diretamente no Outlook, através de uma chave no regedit. Contudo é necessário atenção ao fato que se foi feito a opção de envio de copia dos itens enviados diretamente no Exchange, essa chave jamais deverá ser habilitada, caso contrário poderá ocorrer o envio duplicado dos e-mails.

Perguntas aleatórias

  • Send On Behalf funciona em modo Cross-premises – um usuário no Exchange Online e outro On-Premises?

R: Sim, contudo existe um requisito. É necessário haver ao menos a versão 1.1.553.0 do Azure AD Connect ou superiores.

  • Posso utilizar Send As e Send On Behalf juntos para o mesmo usuário?

R: Não, pode até ser possível adicionar o usuário com ambas as permissões. Todavia o Send As sempre terá a preferência no caso, o que torna uma configuração sem sentido.

  • Posso utilizar Send On Behalf para uma mailbox que está escondida na GAL (Hidden Mailbox) ?

R: A Microsoft diz que não é suportado. Entretanto existem sim um modo de conseguir fazer isso. Basta que se adicione como contato do Outlook o usuário no qual quer fazer o Send On Behalf antes de esconde-lo na GAL. Após isso, pesque o endereço do usuário somente dos seus contatos locais.

  • Uma pessoa pode enviar usando Send On Behalf em nome de um grupo ?

R: Sim, basta adicionar a permissão de Send On Behalf no grupo através do Powershell.

  • Ao invés de conceder permissão de Send On Behalf para muitos usuários, é possível adicionar esses usuários em um grupo e conceder a permissão ao grupo ?

R: Sim, é possível conceder permissão a um grupo através do Powershell, contudo deve ser um Security group e ser mail-enabled.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *