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\$.
- En PowerShell: utilice comillas simples
Enlace a esta FAQ: https://faq.infomaniak.com/1608
¿Le ha sido útil esta FAQ?