Esta documentação foi criada para ajudar você, usuário do Componente, a configurar o servidor SMTP do provedor Outlook com o novo método de autenticação OAuth2. Aqui, abordaremos cada etapa do processo de forma detalhada, garantindo que você tenha todas as informações necessárias para realizar essa configuração com segurança e facilidade.
Atenção!
Para usar OAuth2 para autenticação com SMTP em contas Microsoft, geralmente é necessário ter uma assinatura do Microsoft 365. Isso ocorre porque o OAuth2, que é um protocolo de autenticação mais seguro, se integra com serviços específicos do Microsoft 365, como o Exchange Online, que fornece suporte a essa tecnologia.
A Microsoft tem substituído o método antigo de autenticação (onde você só usava usuário e senha) pelo OAuth2 para proteger melhor as contas, especialmente para clientes que acessam e-mails com SMTP, IMAP ou POP.
Essa mudança está sendo implementada gradualmente, mas já afeta algumas contas pessoais como @outlook.com, que, em muitos casos, ainda não podem usar o OAuth2 para SMTP e dependem da autenticação tradicional até que o suporte moderno seja ampliado para esses usuários.
Também é necessário ativar a verificação de 2 etapas. Pode ser acessado por esse link
Neste passo a passo, vamos orientá-lo na criação das credenciais OAuth2 para o provedor de e-mail Outlook. Após obter as credenciais, você deverá inseri-las na configuração do cliente no Config.ini
Durante o processo, serão gerados os seguintes campos:
- ClientId
- ClientSecret
- TenantId (necessário informar apenas em contas corporativas)
É importante ressaltar que os campos já existentes continuam sendo necessários e devem ser preenchidos. Os novos campos foram acrescentados apenas como complemento, garantindo que a comunicação com o provedor funcione corretamente.
1 - Configurando sua conta
Para iniciar será necessário criar uma conta no portal Azure e acessar o Microsoft Entra ID
Acesse e faça o login ou o cadastro (caso ainda não tenha uma conta)
após login, clique em "Mais Serviços"
pesquise por "registro de aplicativo"
Clique em novo registro
Em seguida iremos criar o nosso aplicativo, neste exemplo usaremos o nome "EmailExemplo". Na parte de tipo de conta selecione o tipo:
"Contas em qualquer diretório organizacional (qualquer locatário do Microsoft Entra ID - multilocatário) e contas pessoais da Microsoft"
este passo é importante caso queira utilizar contas pessoais junto com este aplicativo.
A URI de redirecionamento pode ficar vazio neste momento. vamos preencher conforme for necessário mais a frente.
Clique em registrar
No menu lateral Autenticação:
vamos adicionar uma plataforma do tipo "Aplicativos móveis e de área de trabalho"
Marcar as url sugeridas
e adicionar http://localhost para aplicações desktop consigam fazer a requisição usando um server local
Nosso próximo passo é dar as permissões necessárias ao nosso aplicativo. No menu lateral navegue até a página "Permissões de APIs" . Precisaremos adicionar duas permissões de API delegadas:
- SMTP.Send
- offline_access
A primeira garante que será possível fazer o envio de emails via SMTP e a segunda garante que poderá ser gerado um refresh token para utilização no fluxo de autenticação.
Após a configuração das permissões sua página deve ficar assim:
no menu "Visão geral " pegaremos nosso primeiro valor de interesse, o TenantId (ID do locatário).
e ClientID (ID do aplicativo (cliente)). Guarde esses valores para serem utilizados mais tarde.
Após salvar o TenantId e ClientID iremos criar a credencial (Client Sercret)
2 - Criando suas credenciais
Agora que nosso projeto está criado e configurado começaremos a criar os valores ClientId e ClientSecret. Começando na página de visão geral guarde o valor do ID do aplicativo (cliente) este é o nosso ClientId.
O próximo passo é acessar pelo menu lateral a página "Certificados e segredos". Na nova página clique no botão "Novo segredo do cliente" preencha a descrição do novo segredo e selecione a data de expiração do segredo e clique em adicionar.
Após o segredo ser gerado copie e guarde o conteúdo do campo "Valor" pois ele não poderá ser acessado novamente. Com isso temos o nosso ClientSecret.
Com todos os dados em mãos, utilize o método SaveConfig() para salvar o ClientId, ClientSecret e o TenantID apesar de só existir para outlook não esta sendo cobrado para autenticação, recomendamos armazena-lo, mais não há necessidade de configura-lo nas propriedades no momento.
Para criar as credenciais oAuth do provedor Gmail acesse a documentação: Passo a passo: criando credenciais OAuth com Gmail.
Comentários
0 comentário
Por favor, entre para comentar.