Ir para conteúdo
  • Cadastre-se

dev botao

Envio de Email outlook


Ver Solução Respondido por guilhermekm,

Recommended Posts

Postado
Em 04/10/2024 at 16:46, Patrick Alves disse:

@valterpatrick Verifica se suas configurações estão parecidas com essa:

[Email]
[email protected]
FromName=Patrick
Host=smtp.gmail.com
Port=587
[email protected]
Pass=strongpassword
TLS=Sim

[OAuth2]
AccessTokenUrl=https://oauth2.googleapis.com/token
AuthorizationTokenUrl=https://accounts.google.com/o/oauth2/v2/auth
ClientId=seuclientid
ClientSecret=seuclientsecret
RedirectURI=http://127.0.0.1:1500
Scope=https://mail.google.com/
 

* Lembrando que o scope deve estar definido também na configuração do aplicativo lá no Cloud Api Console do google

 

Perfeito, só não estou conseguindo definir o Proxy já que o token é pego através da função HttpPostURL() onde a mesma cria o objeto THTTPSend sem a possibilidade de configurar o proxy.

Alguém sabe se existe outra forma de configurar o mesmo ?

Postado

Alterações realizadas:

* Adicionar propriedade UseAuthenticator para habilitar OAuth2;
* Adicionar configuração para Proxy no OAuth2;

@Joffas Adicionei a configuração do Proxy, só não consigo testar aqui...

@EMBarbosa  Só adicionei essas alterações por causa do amigo acima que precisou do proxy, a opção de ativar o OAuth já tinha um tempo que estava feita. Parece que ainda estão decidindo se vão adicionar a funcionalidade, vi em outro tópico que pode ter problemas com lgpd mas não entendi muito bem.

Só pra informar:
É possível usar o ACBrMail sem essas alterações para enviar o email com o OAuth2. O processo de autenticar e gerar o token de acesso pode ser feito usando componentes como TOAuth2Authenticator da paleta RestClient do Delphi, TIdHTTP da Indy ou THTTPSend da synapse (é o usado na implementação). Com o token de acesso gerado é só informar ele na propriedade Password do ACBrMail que vc vai conseguir fazer o login e enviar o email normalmente.

ACBrMail.pas

Postado
40 minutos atrás, Patrick Alves disse:

Alterações realizadas:

* Adicionar propriedade UseAuthenticator para habilitar OAuth2;
* Adicionar configuração para Proxy no OAuth2;

@Joffas Adicionei a configuração do Proxy, só não consigo testar aqui...

@EMBarbosa  Só adicionei essas alterações por causa do amigo acima que precisou do proxy, a opção de ativar o OAuth já tinha um tempo que estava feita. Parece que ainda estão decidindo se vão adicionar a funcionalidade, vi em outro tópico que pode ter problemas com lgpd mas não entendi muito bem.

Só pra informar:
É possível usar o ACBrMail sem essas alterações para enviar o email com o OAuth2. O processo de autenticar e gerar o token de acesso pode ser feito usando componentes como TOAuth2Authenticator da paleta RestClient do Delphi, TIdHTTP da Indy ou THTTPSend da synapse (é o usado na implementação). Com o token de acesso gerado é só informar ele na propriedade Password do ACBrMail que vc vai conseguir fazer o login e enviar o email normalmente.

ACBrMail.pas 46.71 kB · 0 downloads

Obrigado, vou testar e reporto:

Outro ponto se puderem me ajudar, não estou conseguindo configurar o envio pelo outlook segue minhas configs:

image.thumb.png.f68d54eb5b0a6db77855ab2aafdf4eb5.png

image.thumb.png.e5a729360fd26ee4880422065e9c56f6.png

image.thumb.png.060ff38412bbc67c2a28f5ef3444d43f.png

image.thumb.png.d2bb160e41cf1890387a52e64f60c794.png

 

1 - Ao tentar recuperar o código de autorização recebo o erro: 

Não foi possível atender à sua solicitação

unauthorized_client: The client does not exist or is not enabled for consumers. If you are the application developer, configure a new application through the App Registrations in the Azure Portal at https://go.microsoft.com/fwlink/?linkid=2083908.

 

image.thumb.png.b13d92a275c63ca9ebc353f8d647f857.png

image.png.056d165da38aea5eb116d3dd2d02fead.png

 

Erro 

image.thumb.png.515b8665b2c6111745dadd7a5801bab0.png

 

 

 

 

Postado

@Joffas Tenta essas configurações no ACBrMail:

[Email]
[email protected]
Host=smtp-mail.outlook.com
Port=587
[email protected]
Pass=senha
TLS=Sim
SSL=Não

[OAuth2]
AccessTokenUrl=https://login.microsoftonline.com/common/oauth2/v2.0/token
AuthorizationTokenUrl=https://login.microsoftonline.com/common/oauth2/v2.0/authorize
ClientId=seu-client-id
ClientSecret=(não informa)
RedirectURI=http://127.0.0.1:1500
Scope=https://outlook.office.com/SMTP.Send offline_access
TimeOut=120000
 

Verifica a configuração do app na microsoft. 
Supported account types = Accounts in any organizational directory and personal Microsoft accounts;
Configure platforms = Mobile and desktop applications;

  • 1 mês depois ...
Postado (editado)

Boa tarde @Patrick Alves
Também consegui realizar o envio de e-mail do provedor outlook utilizando os arquivos modificados e seguindo suas recomendações, muito obrigado.

Gostaria só de tirar duas dúvidas:

1. É necessário criar uma aplicação separada na conta Azure de cada cliente para realizar o envio, ou seria possível utilizar uma única aplicação criada na conta Azure da empresa para enviar e-mails em nome de todos os clientes?

2. Você mencionou que o pessoal do ACBr ainda está analisando a solução. Há alguma atualização recente sobre isso? Além disso, poderia explicar melhor como essa questão está relacionada à LGPD?

Desde já, muito obrigado!

Editado por saulo.figueiredo
Postado (editado)

Bom dia @saulo.figueiredo

1. É necessário criar uma aplicação separada na conta Azure de cada cliente para realizar o envio, ou seria possível utilizar uma única aplicação criada na conta Azure da empresa para enviar e-mails em nome de todos os clientes?

Vc só vai criar um aplicativo na Azure, os seus clientes vão usar esse aplicativo para enviar os emails. (por isso que configuramos o componente com o id do aplicativo, assim cada cliente seu libera (autenticação) o aplicativo pra enviar emails).

2. Você mencionou que o pessoal do ACBr ainda está analisando a solução. Há alguma atualização recente sobre isso? Além disso, poderia explicar melhor como essa questão está relacionada à LGPD?

A ultima posição sobre isso eu vi nesse tópico, inclusive sobre a LGPD:

Editado por Patrick Alves
  • Curtir 1

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...