![]() |
Envío de correos con INDY9
Hola amigos nuevamente recurriendo a ustedes.
Trabajo con: Delphi6, Indy9, FB2.0, Win11 64. Problema: Estoy tratando de enviar correos usando Indy9 (desinstale los componentes anterior que vienen por default con delphi), gracias al club he logrado instalar los indy y tomar algo de codigo para hacer pruebas. Ya tengo un ratito (5 hrs) tratando de solucionar el siguiente problema. Antes que nada colocaré el código q estoy usando para el envío de correo:
Y me esta marcando este error: (imagen) https://ibb.co/nbKvqfS Me hace falta algo mas que configurar? La cuenta de correo gmail esta configurada para 2 pasos, cree una contraseña de aplicación para lograr el envío de correos desde delphi...sabes como puedo resolver el error?? Muchas gracias por su tiempo amigos. |
¿Qué valores has puesto en sslversion, usetls, etc.?
|
Revisa que la versión de las Indy que estás utilizando (que veo que estás con Delphi 6) soporte el TLS que necesita el servidor.
Hace poco se actualizaron versiones mínimas y es posible que necesites 1.2 al menos. |
Creo que necesitará la version 10 de indy, al menos yo con la 9 no conseguí que funcionara, sin embargo con la 10 funciona perfectamente. También usando "contraseña de aplicación".
|
Cita:
|
Cita:
|
Cita:
Como puediera revisar que esta version q estoy usando soporta TLS...??. |
Ahora he cambiado el puerto a 465 y me envia el siguiente error:
Cita:
Alguna idea??... O definitivamente deberé desinstalar la 9 e instalar la 10 de Indy???... |
A ver si te ayuda este hilo:
https://www.clubdelphi.com/foros/showthread.php?t=96482 En las especificaciones de la versión también debería especifocar algo sobre TLS |
Cita:
Lo cheque..pero en realidad no entiendo mucho, instalar DLL, librerias...en algunas páginas que he consultado mencionan un EXE de instalación, super mas comodo, pero ya no está disponible la página, sería mas fácil la instalación. En fin...se esta complicando un poco esto de envíar correos con delphi. Seguiré buscando la solución. |
Hola de nuevo...
Ya me conseguí los Indy10, pero ahora como se instalan??. En el foro hay unas instrucciones pero consulto el link que dice ahi y ya no hay nada.... https://www.clubdelphi.com/foros/showthread.php?t=66412 Del "tocayo" Román. Y los pude bajar de aqui, pero no se como se instalan...con los Indy9 habia unos dpk, pero aqui en esta version nos los veo. Vamos amigos...despues de 18 años aprox programando en Delphi, no me he atorado con nada....hasta ahora, espero que no. Hasta ahorita todo lo he resulto con Delphi, no quiero que esto de envío de correo sea el primero en no poderlo resolver con delphi. Saludos. |
Instalar las indy lleva su tiempo porque tienes que asegurarte antes de haber eliminado absolutamente todo lo que exista de la versión que tengas instalada.
Te aconsejo una buena copia de seguridad de lo que tienes antes de seguir. La descarga y la documentación sobre la instalación las puedes encontrar aquí: https://www.indyproject.org/download/v10/ La documentación está en varios formatos: https://www.indyproject.org/documentation/ Te copio una captura de pantalla con los parámetros con los que está funcionando con gmail. ![]() Si tienes cualquier duda, pregunta. |
Y no olvides las DLL actualizadas también.
Aquí están. |
Yo probaría antes con la que tienes instalada, la v9, porque vayas a estropear tu delphi 6 intentando instalar la v10 y te quedes sin una y sin la otra.
En mi caso la v10 está instalada en un delphi 2007 |
Cita:
Espero poder reinstalar... |
Cita:
|
Cita:
|
Cita:
|
Cita:
https://github.com/IndySockets/Indy/wiki Ahí a la derecha tienes la wiki, la documentación y la "updating indy", está todo, lo acabo de comprobar. |
Cita:
:D Espero que te sea leve el proceso. |
Cita:
|
Cita:
Bueno el caso es que estoy probando con la 9. Reenvío el código que estoy usando, lo modifique de acuerdo a un post de DEC (del 2004!!, a ver si me funciona jajaja):
Y marcar el siguiente error: "Socket Error # 10060 connection timed out", si hay que "activar" algún socket, diganme como se hace....por fa. Gracias por su tiempo. (No me dejen solo!!) |
Cita:
Busque el codigo de este último error...y tiene q ver con seguridad del servidor, pero no sé si tambien del componente delphi https://sendlayer.com/docs/error-530...command-first/ https://support.google.com/a/answer/3726730?hl=es |
Utiliza los parámetros que te he indicado, están funcionando actualmente en muchos sitios.
|
Si refieres a los de la pantalla q enviaste...como se los defino al componente?.
Intente esto:
Me salen estos errores... Código:
[Error] ImprimirEnviarTCK.pas(99): Undeclared identifier: 'IOHandler'Gracias Casimiro. |
Mira si te sirve de ejemplo:
|
Cita:
Saludos. |
Retomando el tema
Amigos, retomando el tema:
Instalé en una Maquina virtual win7 32 bits, instalé Delphi7, Desinstalé Indy9 e Instalé Indy10. Lo anterior para hacer pruebas de envío de correo. CASIMIRO me paso unas DLL que ya bajé y copié al mismo directorio donde esta mi ejecutable. Envía el siguiente error https://ibb.co/dJS2vMn CODIGO
Agradeciendo sus aportes y comentarios de antemano, muchas gracias. Como puedo corregir este error?? p.d.1 Casimiro, gracias por último aporte -código- q me enviaste en este hilo, si me ayudó. p.d.2 También copie las DLL en Windows\System32 Saludos y Gracias. |
|
Las dll que te pasé funcionan en win64, seguramente ese es el problema que tienes.
Hay otros hilos donde puedes descargar esas mismas dll en distintas versiones, prueba con varias de ellas, seguro que es eso. |
Cita:
|
Cita:
Saludos |
Es necesario saber exactamente en cada ocasión qué parámetros estás usando, qué código, el mensaje de error exacto, etc.
|
Cita:
CODIGO:
COMPONENTES: Cita:
Q componente debe ir relacionado con q otro? Tengo relacionado TIdSMTP en su propiedad IOHandler a TIdSSLIOHandlerSocketOpenSSL MENSAJE DE ERROR Cita:
https://ibb.co/5hPx17s Gracias. Saludos. |
Por qué no pruebas con los datos que te he dado antes, como te he comentado, está funcionando en muchas empresas.
![]() |
Cita:
He probado el código que has puesto (porque me parece correcto) y compilandolo tanto con Delphi 12 como con Delphi 7, me envía correo a través de GMail correctamente. Hay varias cosas importantes: 1) La primera que afecta a ambos, es que he tenido que definr DOBLE autentificación en la cuenta de GMail, para que me deje definir contraseña por aplicación. Para crear la contraseña por aplicación lo he tenido que hacer desde aquí: https://myaccount.google.com/apppasswords Accediendo a la cuenta del correo. 2) Lo segundo importante es dar con las DLL's de SSL apropiadas para cada versión. Este es el código que he utilizado (como ves es el tuyo) en delphi 12:
|
Ahora te adjunto el código de ambos proyectos incluyendo las DLLs de SSL que me funcionan con cada uno.
Están en el FTP de club: EnviarMailIndyDelphi12.zip EnviarMailIndyDelphi7.zip Prueba y ya dirás... |
Me pareció leer unos mensajes más arriba que ya estaba usando contraseña de aplicación, pero por lo visto no estaba usando esa contraseña, ese es el problema.
|
O versión de las DLLs, que siempre dan problemas.
Estas son sobre Windows 11 64bits, para ambas versiones de Delphi (supongo que también funcionarán sobre Windows 10) |
Cita:
Que fué lo que hice: 1.- La contraseña de aplicación me fijé que no lo escribí con los espacios en blanco, cuando la generé me la mostró con espacios y en mi código no se los puse, esto apartir de tu ejemplo q me enviaste, se los agregue por cada grupo de 4 caracteres va 1 espacio en blanco. 2.- Copié las DLL q adjuntaste en tu link de "EnviarMailIndyDelphi7.zip". 3.- Agregue en el USES -despues de "Implementation"- el "IdGlobal" y "IdEmailAddress". 4.- Lo compilé, ejecuté y se envío el correo. Muchas gracias a los 2 por su tiempo (Casimiro y Neftalí) y por los ejemplos que me enviaron. Saludos y nuevamente gracias. p.d. Funcionó en Win7-32bits-D7-VMachine |
| La franja horaria es GMT +2. Ahora son las 20:14:45. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi