Email Autenticação OAuth2: mudanças entre as edições

De Base de Conhecimentos da DataPlus Sistemas
Ir para navegação Ir para pesquisar
Vinicius (discussão | contribs)
Sem resumo de edição
Vinicius (discussão | contribs)
Sem resumo de edição
Linha 2: Linha 2:


Servidor: smtp.office365.com<br>
Servidor: smtp.office365.com<br>
Criptografia: STARTTLS
Criptografia: STARTTLS<br>
Porta: 587
Porta: 587



Edição das 16h29min de 8 de agosto de 2025

Passo a passo de como fazer a configuração para provedores de e-mail que utilizam a autenticação OAuth2.

Servidor: smtp.office365.com
Criptografia: STARTTLS
Porta: 587

Para testar pode-se usar a própria conta com o domínio dataplussistemas.com.br

1° Passo - Criar conta Outlook para acesso ao Azure

Outlook

2° Passo - Acessar portal de E-mails

Acesse: Gerenciador de E-mail

Nessa etapa é preciso realizar a marcação da Autenticação SMTP para os usuários que irão realizar o envio de e-mails.

E-mail OAuth2 Gerenciador
E-mail OAuth2 Gerenciador



E-mail OAuth2 SMTP Autenticação
E-mail OAuth2 SMTP Autenticação

3° Passo - Criar aplicativo

Acesse: Registro de Aplicativo

E-mail OAuth2 Registro de aplicativo
E-mail OAuth2 Registro de aplicativo


As credenciais apontadas na imagem serão informadas nas configurações gerais do ERP:

E-mail OAuth2 Credenciais Cliend ID e ID Organização
E-mail OAuth2 Credenciais Cliend ID e ID Organização


É preciso realizar a criação do segredo que é o Client-Secret que será informado no ERP:

E-mail OAuth2 Criação do segredo
E-mail OAuth2 Criação do segredo


E-mail OAuth2 Valor Segredo
E-mail OAuth2 Valor Segredo


Para que tenha o funcionamento adequado é preciso selecionar algumas permissões para a API (Mail.Send e SMTP.SendAsApp)

E-mail OAuth2 Permissões da API
E-mail OAuth2 Permissões da API


E-mail OAuth2 Mail.Send Mail.SendAsApp
E-mail OAuth2 Mail.Send Mail.SendAsApp


Após as permissões terem sido adicionadas, é preciso realizar o consentimento de administrador para elas:

E-mail OAuth2 Consentimento Usuário
E-mail OAuth2 Consentimento Usuário


E-mail OAuth2 Confirmação Consentimento Usuário
E-mail OAuth2 Confirmação Consentimento Usuário


4° Passo - Obter ObjectId para os comandos do PowerShell

Aplicativos Empresariais

Email OAuth2 Aplicativo Empresarial Id
Email OAuth2 Aplicativo Empresarial Id

5° Passo - Realizar a liberação dos usuários para envio do e-mail

Abra o PowerShell no modo administrador. Esse processo deve ser realizado pelo administrador do domínio:

1° - Install-Module ExchangeOnlineManagement -Force

- O comando instala o módulo oficial do PowerShell necessário para administrar o Exchange Online. O parâmetro -Force força a instalação mesmo que o módulo já exista ou esteja desatualizado.

2° - Import-Module ExchangeOnlineManagement

- O comando carrega esse módulo na sessão atual do PowerShell, tornando os cmdlets do Exchange disponíveis para uso.

3° - Connect-ExchangeOnline

- O comando inicia a conexão com o ambiente Exchange Online da Microsoft. Ao executá-lo, você será solicitado a informar suas credenciais administrativas.

4° A - Set-TransportConfig -SmtpClientAuthenticationDisabled $false (Ativação global)

- O comando habilita globalmente o suporte à autenticação SMTP no seu tenant Microsoft 365. Isso permite que os usuários usem login (senha ou OAuth2) para enviar e-mails via SMTP, por exemplo, usando smtp.office365.com.

OU

4° B - Set-CASMailbox -Identity "usuario@email.com.br" -SmtpClientAuthenticationDisabled $false (Ativação individual)

- O comando ativa explicitamente a autenticação SMTP para esse usuário específico. Isso é útil caso você queira ativar SMTP apenas para alguns usuários, mesmo que a configuração global esteja desativada.

5° - Get-ManagementRoleAssignment -Role "Role Management"

- O comando verifica se sua conta tem atribuição para o papel “Role Management”, necessário para criar service principals e modificar permissões avançadas.

6° - New-ServicePrincipal -AppId <client_id> -ObjectId <object_id>

- O comando registra um service principal (aplicativo Azure AD) no Exchange Online, vinculando seu App registrado no Entra ID (Azure AD) ao Exchange. Isso é essencial para que o app possa acessar caixas de correio via OAuth2 (SMTP, IMAP, etc.).

7° - Get-ServicePrincipal

- O comando lista todos os service principals já registrados no Exchange Online, permitindo verificar se o seu foi criado corretamente.

8° - Add-MailboxPermission -Identity "usuario@email.com.br" -User <object_id> -AccessRights FullAccess

- O comando concede ao seu app (identificado pelo ObjectId do service principal) acesso completo à caixa de correio do usuário especificado. Isso permite que o app leia ou envie mensagens.

9° - Add-RecipientPermission -Identity "usuario@email.com.br" -Trustee <object_id> -AccessRights SendAs

- O comando autoriza o app a enviar e-mails como se fosse o próprio usuário (SendAs). Esse passo é obrigatório para que o envio via SMTP OAuth funcione corretamente com o endereço do usuário como remetente. A resposta precisa ser R: A

6° Passo - Configuração no ERP

O escopo a ser informado é: https://outlook.office365.com/.default

Email OAuth2 Configuração ERP
Email OAuth2 Configuração ERP