Base de conocimientos
1 000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!
Solucionar un error de correo electrónico ($ en la contraseña)
Esta guía detalla las reglas específicas que se deben respetar al utilizar una contraseña que contenga el carácter “dólar” $ para enviar un correo electrónico a través del SMTP de Infomaniak en un script (PowerShell, Python, etc.).
Introducción
- Si al enviar un correo electrónico a través de SMTP recibe un error de autenticación (por ejemplo,
fallo de autenticación,nombre de usuario o contraseña no válidos), aunque la contraseña sea correcta y funcione en un programa como Outlook, el problema podría estar relacionado con el tratamiento del carácter$en su script o archivo de configuración. - Para garantizar el correcto funcionamiento 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 surgir al conectar con las bases de datos.
Reglas a respetar
El carácter $ es un símbolo especial en muchos lenguajes y entornos. Cuando se utiliza en una contraseña dentro de un script o un archivo de configuración, puede interpretarse erróneamente como una variable o un carácter de control.
A continuación, se indican algunos casos frecuentes en los que no se 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 provocar sustituciones inesperadas. - Archivos YAML (por ejemplo, Home Assistant, GitHub Actions, Docker Compose):
$puede interpretarse como una variable de entorno. - Archivos
.env,.iniu otros archivos 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 el carácter
$puede codificarse incorrectamente o generar un error durante el análisis.
Para corregir o evitar este tipo de error:
- Evite utilizar el carácter
$en las contraseñas destinadas a ser utilizadas en scripts o sistemas automatizados. - Si absolutamente tiene que utilizarlo, encierre siempre la cadena de contraseña correctamente según el lenguaje:
- En PowerShell: utilice comillas simples
'password$Test'si es posible. - En Python: asegúrese de que la cadena esté correctamente 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?