Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Visão Geral

Foi implementado no Protheus um novo modelo de envio de e-mail, permitindo autenticação utilizando:

  • Basic Authentication
  • OAuth 2.0

A implementação contempla:

  • Cadastro de provedores de e-mail
  • Cadastro de contas de e-mail
  • Classe TLPP responsável pelo envio
  • Integração com:
    • Envio de relatórios
    • Rotinas relacionadas à política de senha

O objetivo principal é permitir compatibilidade com os novos requisitos de autenticação exigidos por provedores como Google e Microsoft, que estão descontinuando autenticação SMTP tradicional baseada apenas em usuário e senha.


Funcionamento da Integração

Envio de Relatórios

O envio de relatórios utiliza o parâmetro MV_RELACNT:

Nova lógica implementada:

  • Se a conta informada no MV_RELACNT existir no cadastro de contas:
    • Será utilizado o novo modelo de envio
  • Caso contrário:
    • O envio continuará utilizando o modelo tradicional do Protheus

Política de Senha

Nas rotinas relacionadas à política de senha:

  • A conta informada será validada no cadastro de contas
  • Se existir:
    • Utiliza o novo modelo
  • Caso contrário:
    • Utiliza o modelo tradicional existente

Tipos de Autenticação

Basic Authentication

Modelo tradicional baseado em:

  • Usuário
  • Senha

Características:

  • Simples de configurar
  • Compatível com servidores SMTP legados
  • Está sendo descontinuado por diversos provedores

OAuth 2.0

Modelo moderno de autenticação baseado em tokens.

Características:

  • Maior segurança
  • Não utiliza senha da conta diretamente
  • Compatível com requisitos atuais da Microsoft e Google

A implementação suporta dois modos:

OAuth 2.0 com Consentimento

Neste modelo:

  • O usuário realiza autenticação manual
  • O usuário concede permissão para envio de e-mail
  • É gerado um token vinculado a conta cadastrada

OAuth 2.0 sem Consentimento (client_credentials)

Neste modelo:

  • Não existe interação do usuário
  • A autenticação ocorre via aplicação
  • O token é gerado utilizando:
    • client_id
    • client_secret
    • tenant_id (Microsoft)

Dados Necessários para Configuração

Dependendo do modelo utilizado, poderão ser necessários:

InformaçãoBasicOAuth ConsentimentoOAuth Client Credentials
UsuárioSimNãoNão
SenhaSimNãoNão
Client IDNãoSimSim
Client SecretNãoSimSim
Tenant IDNãoNãoMicrosoft
Consentimento do usuárioNãoSimNão



Documentações Oficiais

Microsoft

Registro de Aplicações

Microsoft Entra - Registro de Aplicações

OAuth 2.0 Client Credentials

Microsoft OAuth 2.0 Client Credentials Flow

Microsoft Graph - Envio de E-mail

Microsoft Graph - Send Mail


Google

Configuração OAuth 2.0

Google OAuth 2.0 - uso de apis do google

Google Workspace - console


Rotinas Relacionadas

Cadastro de Provedores

Documentação da rotina responsável pelo cadastro dos provedores de autenticação e parâmetros OAuth.

Cadastro de Provedores - oAuth 2.0 protheus


Cadastro de Contas

Documentação da rotina responsável pelo cadastro das contas de e-mail utilizadas no envio.

Cadastro de contas - oAuth 2.0 protheus


Classe TLPP

Documentação técnica da classe TLPP responsável pelo gerenciamento da autenticação e envio dos e-mails.

Classe tlpp para envio de email totvs.framework.oauth.client

Índice