ENVIAR E-MAIL VB6 USANDDO CONTA OFFICE365 - OAUTH
Pessoal, vcs tiveram problema ao enviar e-mail com contas migradas para o office 365, autenticação via Oauth em VB6?
Conseguiram resolver, estou batendo cabeça até agora não consegui achar nenhuma solução sem ser fazer o envio em .net.
Alguma dll ou OCX free?
Conseguiram resolver, estou batendo cabeça até agora não consegui achar nenhuma solução sem ser fazer o envio em .net.
Alguma dll ou OCX free?
Olá.
Você vai ter que fazer algo parecido quando precisei integrar um sistema de cotação de seguros usando o VB6 com WebService. Na época tina SOAP Tool Kit (da Microsoft) e a empresa que tinha desenvolvido o sistema usou, só que não tinham feito um teste de carga nele, quando começou a usar (devido ao alto número de requisições que eram disparadas entre a empresa e a seguradora), SOAPO Tool Kit dava problemas. A solução que acabei adotando na época, foi criar uma camada em C# que fazia ponte entre a minha DLL VB6 (onde estava toda a regra de negócio), com o WebService da seguradora, com isso (exemplo), precisasse obter o código do veículo na seguradora, VB6 montava os parâmetros, chamava a DLL C# (que estava no COM+), depois esta falava com WebService, quando vinha a resposta, VB6 lia o resultado do C# e seguia o seu caminho.
Eu coloquei a dúvida no Copilot e ele me retornou essas sugestões (inclusive a ideia da DLL C#/VB.Net que citei, mas quando fiz isso, foi aquele estalo de momento):
Fazer autenticação via OAuth em Visual Basic 6 (VB6) é um verdadeiro desafio, já que VB6 não foi projetado com suporte nativo para protocolos modernos como OAuth 2.0. Mas com um pouco de criatividade e ferramentas externas, é possível sim implementar essa funcionalidade. Aqui vão algumas abordagens que funcionam:
Pergunta: autenticação via Oauth em VB6
Resposta:
??? Opções para implementar OAuth em VB6
1. Usar bibliotecas externas como EASendMail
O EASendMail é um componente ActiveX que permite enviar e-mails via SMTP com autenticação OAuth 2.0.
Ele oferece suporte para Office 365, Gmail, e outros serviços que exigem OAuth moderno.
Você precisa:
Registrar sua aplicação no Azure Portal (para Office 365) ou Google Cloud Console (para Gmail).
Obter o client_id, client_secret e configurar os escopos.
Usar o componente para obter o token e enviar e-mails com ele.
2. Usar o Chilkat ActiveX
O Chilkat oferece uma vasta gama de exemplos de OAuth2 para VB6.
Ele suporta autenticação com Google, Microsoft, LinkedIn, GitHub, entre outros.
Exemplos incluem:
Obter token de acesso.
Renovar token expirado.
Usar token em chamadas REST.
3. Criar um intermediário em .NET ou Python
Como alternativa, você pode criar um pequeno serviço em .NET ou Python que faça a autenticação OAuth e se comunique com seu app VB6 via COM ou sockets.
Isso permite que o VB6 continue funcionando sem lidar diretamente com o protocolo OAuth.
?? Dicas importantes
OAuth 2.0 exige HTTPS, então certifique-se de que seu ambiente VB6 suporte TLS 1.2.
Tokens de acesso têm tempo de vida limitado — você precisará lidar com a renovação.
Evite armazenar client_secret em texto plano.
Você vai ter que fazer algo parecido quando precisei integrar um sistema de cotação de seguros usando o VB6 com WebService. Na época tina SOAP Tool Kit (da Microsoft) e a empresa que tinha desenvolvido o sistema usou, só que não tinham feito um teste de carga nele, quando começou a usar (devido ao alto número de requisições que eram disparadas entre a empresa e a seguradora), SOAPO Tool Kit dava problemas. A solução que acabei adotando na época, foi criar uma camada em C# que fazia ponte entre a minha DLL VB6 (onde estava toda a regra de negócio), com o WebService da seguradora, com isso (exemplo), precisasse obter o código do veículo na seguradora, VB6 montava os parâmetros, chamava a DLL C# (que estava no COM+), depois esta falava com WebService, quando vinha a resposta, VB6 lia o resultado do C# e seguia o seu caminho.
Eu coloquei a dúvida no Copilot e ele me retornou essas sugestões (inclusive a ideia da DLL C#/VB.Net que citei, mas quando fiz isso, foi aquele estalo de momento):
Fazer autenticação via OAuth em Visual Basic 6 (VB6) é um verdadeiro desafio, já que VB6 não foi projetado com suporte nativo para protocolos modernos como OAuth 2.0. Mas com um pouco de criatividade e ferramentas externas, é possível sim implementar essa funcionalidade. Aqui vão algumas abordagens que funcionam:
Pergunta: autenticação via Oauth em VB6
Resposta:
??? Opções para implementar OAuth em VB6
1. Usar bibliotecas externas como EASendMail
O EASendMail é um componente ActiveX que permite enviar e-mails via SMTP com autenticação OAuth 2.0.
Ele oferece suporte para Office 365, Gmail, e outros serviços que exigem OAuth moderno.
Você precisa:
Registrar sua aplicação no Azure Portal (para Office 365) ou Google Cloud Console (para Gmail).
Obter o client_id, client_secret e configurar os escopos.
Usar o componente para obter o token e enviar e-mails com ele.
2. Usar o Chilkat ActiveX
O Chilkat oferece uma vasta gama de exemplos de OAuth2 para VB6.
Ele suporta autenticação com Google, Microsoft, LinkedIn, GitHub, entre outros.
Exemplos incluem:
Obter token de acesso.
Renovar token expirado.
Usar token em chamadas REST.
3. Criar um intermediário em .NET ou Python
Como alternativa, você pode criar um pequeno serviço em .NET ou Python que faça a autenticação OAuth e se comunique com seu app VB6 via COM ou sockets.
Isso permite que o VB6 continue funcionando sem lidar diretamente com o protocolo OAuth.
?? Dicas importantes
OAuth 2.0 exige HTTPS, então certifique-se de que seu ambiente VB6 suporte TLS 1.2.
Tokens de acesso têm tempo de vida limitado — você precisará lidar com a renovação.
Evite armazenar client_secret em texto plano.
Faça seu login para responder