Detectar la configuración del servidor de correo
buen dia;
tengo una aplicación que puede enviar correos en Delphi 7 con los componentes Indy 10 al parecer la rutina funciona bien, pero cuando quiero configurar los parametros de conexion para cada cliente, tengo que pasar por un tedioso proceso de prueba y error para determinar la configuración correcta de: IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method que puede ser: sslvTLSv1 sslvSSLv2 sslvSSLv23 sslvSSLv3 o de TidSMTP.Authtype que puede ser: atDefault atNone atSASL y de TidSMTP.UseTSL que puede tener los sig valores: utUseExplicitTLS utNoTLSSupport utUseExplicitTLS utUseExplicitTLS supongo que debe haber una mejor forma de configurar un cliente de correo (y que yo, por supuesto ignoro), alguna sugerencia? |
Puedes probar a implementar el protocolo Autodiscover:
https://www.ionos.es/ayuda/dominios/.../autodiscover/ Compruebas primero si existe el registro en el dominio y si no pues pasas a tu sistema manual. Desconozco si ya hay algún componente creado para Delphi pero, en teoría, no es complicado. Es una consulta DNS a ver si existe el registro, si existe descargar el fichero que indica. El fichero descargado es un XML con la información de configuración. |
hola, pues ahora ya no se que pasa, la aplicación ya no puede enviar correos con gmail, el código es el siguiente:
notas:
Código:
// Conexion con el servidor de correo |
Para GMail las opciones que uso son estas:
Y, como bien dices, en la configuración de seguridad de la cuenta de Google activar "Acceso a aplicaciones menos seguras". Si está activada la identificación de doble factor pues lo de menos seguras no se permite pero puedes generar una "contraseña de aplicación". Y en la configuración de GMail debes activar el servicio POP/MAPI Si con todo esto no va, ¿dónde y qué error da? |
Cita:
|
Personalmente, no se me ha dado el caso de la contraseña de aplicación.
En teoría, generas la contraseña y la usas sustituyendo a la contraseña del cliente. Estas son las instrucciones de Google. https://support.google.com/accounts/answer/185833?hl=es Dice que debes elegir una aplicación, si no aparece tu aplicación igual debes hacer primero un intento con la contraseña normal para que la registre. La otra opción es usar OAUTH2, el sistema que prefiere Google. Aquí tienes un ejemplo de como usar con Indy, pero creo que necesitas versiones modernas de Delphi. https://github.com/geoffsmith82/Gmai...ster/README.md |
La franja horaria es GMT +2. Ahora son las 08:11:40. |
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