Base de conocimientos

1 000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!

Resolver un error de correo electrónico ($ en la contraseña)

Actualización 18/05/2026

Esta guía detalla las reglas específicas que se deben seguir al utilizar una contraseña que contiene el carácter “dólar” $ para enviar un correo electrónico a través del SMTP de Infomaniak en un script (PowerShell, Python, etc.).

 

Prólogo

  • Si al enviar un correo electrónico a través de SMTP recibe un error de autenticación (por ejemplo auth failed, invalid login or password) aunque la contraseña sea correcta y funcione en un software como Outlook, el problema puede deberse al tratamiento del carácter $ en su script o archivo de configuración.
  • Para garantizar una ejecución fiable de sus scripts SMTP, se recomienda encarecidamente evitar cualquier carácter especial que tenga un significado sintáctico, en particular $, en las contraseñas utilizadas en los scripts y archivos de configuración.
  • El problema también puede ocurrir al conectarse a las bases de datos.

 

Reglas a seguir

El carácter $ es un símbolo especial en muchos lenguajes y entornos. Cuando se utiliza en una contraseña en un script o archivo de configuración, puede ser interpretado erróneamente como una variable o un carácter de control.

Aquí hay algunos casos frecuentes en los que no debe utilizar el carácter $ en una contraseña:

  • PowerShell: $ se utiliza para declarar variables. Una contraseña que contenga $ puede provocar errores de sintaxis o ser truncada.
  • Bash / Shell (Linux): $ también es un prefijo de variable. Puede desencadenar sustituciones inesperadas.
  • Archivos YAML (por ejemplo Home Assistant, GitHub Actions, Docker Compose): $ puede ser interpretado como una variable de entorno.
  • Archivos .env, .ini, o cualquier otro archivo de configuración: las herramientas que leen estos archivos pueden intentar interpretar las variables.
  • Comandos o URL con autenticación: una contraseña que contenga $ puede estar mal codificada o fallar durante el análisis.

 

Para corregir o prevenir este tipo de error:

  • Evite utilizar el carácter $ en las contraseñas destinadas a ser utilizadas en scripts o sistemas automatizados.
  • Si debe utilizarlo, siempre enmarque correctamente la cadena de la contraseña según el lenguaje:
    • En PowerShell: utilice comillas simples 'password$Test' si es posible.
    • En Python: asegúrese de que la cadena esté entre comillas simples o dobles, sin interpretación.
    • En Bash: escape el $ con una barra invertida \$.

¿Le ha sido útil esta FAQ?