¡Cuando el antivirus te pone la llave y los espacios te sacan canas!
Read Time:3 Minute, 2 Second

¡Cuando el antivirus te pone la llave y los espacios te sacan canas!

1 0

Te voy a contar una historia que es un clásico en el mundo tech hondureño: el código está perfecto (según vos), pero todo falla. Esta vez, el enemigo no era un bug en el código, sino el antivirus metido y los espacios en blanco invisibles. Aquí va el paso a paso para que, si te pasa, no te friegues tanto como yo.

1. El problema inicial: Error con el certificado

Todo comenzó con este error:

«The remote certificate is invalid according to the validation procedure.»

Cuando vi ese mensaje, me sentí como cuando estás en una pulpería y te dicen: «No hay fiao». Lo primero que vino a mi mente fue que algo andaba mal con el certificado SSL/TLS del servidor SMTP.

¿Qué hicimos?

Instalamos OpenSSL para analizar la conexión. Si no lo tenés instalado, buscá la versión para Windows y agregála al PATH. Desde la terminal, ejecutá:

openssl s_client -connect mail.zelvait.com:465

El resultado fue claro como el agua:

«self-signed certificate in certificate chain»

El certificado estaba siendo interceptado por el Avast. Este bicho, en su afán de proteger, estaba metiendo un certificado autofirmado que no era reconocido por mi aplicación.

Solución:

    • Abrí el Avast y desactivá el escaneo de correos y conexiones HTTPS. Esto dejó que mi aplicación se conectara directamente al certificado original del servidor.

    • Protip: Si usás otro antivirus, buscá configuraciones similares. La mayoría tienen alguna opción para dejar de interferir con SSL/TLS.

2. El error siguiente: Incorrect authentication data

Cuando ya pensaba que había vencido, salta otro error:

«Incorrect authentication data.»

¡Ah, puchica! Esto ya era demasiado. Revisé las credenciales una y otra vez: el usuario estaba correcto, la contraseña también. Pero luego me di cuenta de un detalle casi invisible: había espacios en blanco extra al final de los parámetros.

¿Cómo lo detecté?

  1.  

Agregué mensajes de depuración para ver los valores que estaba enviando:

    1. msg(«Host: » + &InsMailHost + » UserName: » + &InsMailSrvAdd)
    2. Noté que algunos valores tenían espacios extras, como:
    3. «Host»: «mail.zelvait.com «,
    4. «UserName»: «carlos.zelaya@zelvait.com «

Solución:

    • Usé una función trim() para limpiar todos los valores antes de enviarlos al servidor SMTP:

    • &InsMailHost = &InsMailHost.Trim()

    • &InsMailSrvAdd = &InsMailSrvAdd.Trim()

    • Con esto, el servidor aceptó las credenciales sin problemas.

 

3. Lecciones aprendidas (y consejos para vos)

Si estás configurando un servidor SMTP en tu aplicación, aquí van las cosas que aprendí:

Sobre los antivirus

    • Revisá si tu antivirus está interceptando la conexión SSL/TLS.

    • Desactivá el escaneo de correos o conexiones HTTPS si está causando problemas.

Sobre los parámetros

    • Siempre depurá los valores antes de enviarlos al servidor. Los espacios invisibles son como los zancudos: pequeños, pero joden un montón.

    • Usá trim() o alguna función similar para limpiar cadenas de texto.

Sobre OpenSSL

    • Usá OpenSSL para inspeccionar los certificados. Te dirá si hay problemas con la cadena de confianza o con el nombre del servidor.

4. Código limpio para evitar problemas

Aquí te dejo un fragmento de código que te puede servir como referencia:

&Mail.Host = &InsMailHost.Trim()
&Mail.Port = &InsMailPort
&Mail.UserName = &InsMailSrvAdd.Trim()
&Mail.Password = &InsMailSrvPass.Trim()
&Mail.Secure = 1 // SSL/TLS
&Mail.Authentication = 1 // Login estándar
&Error = &Mail.Login()
If &Error <> 0
   msg("Error al conectar: " + &Mail.ErrDescription)
   Return
EndIf

Conclusión

Al final, resolver este problema fue como armar un buen plato de baleadas: paciencia, ingredientes correctos (en este caso, configuraciones) y evitar que algo se te queme o te ponga la llave, como el antivirus.

Espero que esta guía te sirva si te topás con algo parecido. ¡Salud y buenos códigos, Baleada Lovers!

Avatar for Carlos Zelaya Irías

About Post Author

Carlos Zelaya Irías

Carlos Alberto Zelaya Irías es un profesional hondureño especializado en tecnología, desarrollo de software y consultoría empresarial. Como CEO de ZelvaIT, educador universitario y divulgador en plataformas digitales, promueve la innovación tecnológica y la educación inclusiva. Apasionado por la ciberseguridad, metodologías ágiles y transformación digital, comparte conocimientos prácticos para empoderar a su comunidad
Happy
Happy
0 %
Sad
Sad
0 %
Excited
Excited
0 %
Sleepy
Sleepy
0 %
Angry
Angry
0 %
Surprise
Surprise
0 %

Average Rating

5 Star
0%
4 Star
0%
3 Star
0%
2 Star
0%
1 Star
0%

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Entrada anterior Habilitar múltiples sesiones para los Servicios de Escritorio Remoto – Windows Server
Programando SDTs Entrada siguiente SDTs en GeneXus: ¿Qué onda con ellos?