Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Envío de correos SMTP de office365 con Indy10 (https://www.clubdelphi.com/foros/showthread.php?t=96418)

HerensugeBeltz 28-09-2023 15:34:05

Envío de correos SMTP de office365 con Indy10
 
Hola,

Desarrollamos una aplicación de escritorio (C++Builder 10.1) que usa los componentes Indy incluidos en dicha versión para el envío de emails. El problema es que los clientes que tienen el correo con office365 cada vez tienen más problemas con los envíos y tienen que bajar la seguridad de su cuenta (y me temo que pronto no podrán enviar más correos de la manera tradicional).
Al parecer hay dos alternativas: implementar OAuth2 (no parece algo sencillo en una aplicación de escritorio) o utilizar la API de Microsoft Graph. Alguna solución comercial tal vez?

Mi pregunta es, hay alguien con aplicaciones de escritorio en C++ Builder o Delphi con el mismo problema? Alguien que me pueda informar sobre cómo lo han solucionado?
Agradezco cualquier ayuda que me ayude a seguir adelante.
Gracias.

dec 28-09-2023 16:47:09

Hola a todos,

Diré, no como la solución, pero, como una posible solución (porque, acaso la solución sería una implementación en Delphi sin más), que acaso podría pensarse en usar un "servidor / puente", es decir, supongamos que tenemos un hosting que permite ejecutar PHP (lo que es común), entonces, podríamos implementar acaso el envío del correo en un script PHP, que, recibiese los argumentos necesarios desde una llamada que se hiciese desde nuestra aplicación Delphi.

La idea es dejar al servidor (PHP o cualquier otro lenguaje) lo que es el envío del correo, mientras que, nuestra aplicación Delphi, lo "único" que tendría que hacer sería una llamada HTTP POST al script de nuestro servidor. Este llevaría a cabo la tarea y proporcionaría la respuesta necesaria a nuestra aplicación: "Ok" (Se envío el correo), "Error: Algún error", etc. Ya digo que no es la solución, que, sería implementar el asunto en la propia aplicación Delphi, pero, en fin, lo dejo caer por si pudiera resultar útil en un momento dado.

P.S. Acaso la implementación de "OAuth2" (por ejemplo) sería más sencilla desde el servidor, aunque, insisto en que acaso la verdadera solución sería pegarse con eso en la propia aplicación Delphi, pues, digo yo que debe ser posible hacer algo así. Seguro que algún compañero nos da una mejor pista o solución para implementar el asunto en la propia aplicación Delphi.

HerensugeBeltz 29-09-2023 08:46:59

El problema que le veo a tu propuesta es que nuestra aplicación está distribuida en unos 100 clientes; no veo factible configurarle el servidor a cada uno. Por otra parte, si usásemos nuestro servidor, cada vez que tuviesen un problema con el envío nos llamarían a nosotros, además de que en los correos se maneja información confidencial (contrato de la LPD con cada clientes)...
En fin, como bien dices, lo ideal sería implementarlo en la propia aplicación.
Gracias por tu respuesta.

dec 29-09-2023 12:00:22

Hola a todos,

La verdad es que lleva razón. Es decir, podría acaso haberme ahorrado la respuesta: no es lo que se pretendía hacer, no ofrece una solución, en definitiva, debería haberme ahorrado dicha respuesta. ¡Pido disculpas!

HerensugeBeltz 29-09-2023 14:02:36

Cita:

Empezado por dec (Mensaje 552750)
Hola a todos,

La verdad es que lleva razón. Es decir, podría acaso haberme ahorrado la respuesta: no es lo que se pretendía hacer, no ofrece una solución, en definitiva, debería haberme ahorrado dicha respuesta. ¡Pido disculpas!

En absoluto. Toda colaboración vale y puede aportar algo.
Un saludo y buen fin de semana.

dec 29-09-2023 19:18:41

Hola a todos,

En este hilo de Delphi Praxis, donde se trata, justamente, de lo que se trata en este hilo: "Indy + OAuth2", participa el gran Remy Lebeau, y, parece que Indy no soportaría actualmente OAuth2, aunque, se propone alguna posibilidad: pero no se implementa, simplemente se sugiere / propone.

En dicho hilo, un compañero "Delphiano", apunta a este proyecto de Github: creo que podría servirle, de modo que, puede echarle un vistazo a ver qué tal. Sino me equivoco (no lo he mirado con detenimiento) lo que este proyecto hace es, precisamente, lo que Remy Lebeau propone, para dar a Indy soporte para OAuth2. :)

HerensugeBeltz 02-10-2023 09:17:48

Le echaré un vistazo.
Muchas gracias!!

dec 02-10-2023 16:52:04

Hola a todos,

Cita:

Empezado por HerensugeBeltz (Mensaje 552774)
Le echaré un vistazo.
Muchas gracias!!

¡No hay de qué, a ver si hay suerte, hombre! :)


La franja horaria es GMT +2. Ahora son las 20:24:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi