Base di conoscenze
1000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Risolvere un errore di posta elettronica ($ nella password)
Questa guida dettaglia le regole specifiche da rispettare quando si utilizza una password contenente il carattere "dollar" $
per inviare un'e-mail tramite il SMTP Infomaniak in uno script (PowerShell, Python, ecc.).
Premessa
- Se durante l'invio di un'e-mail tramite SMTP si ottiene un errore di autenticazione (ad esempio
auth failed
,invalid login or password
) anche se la password è corretta e funziona in un software come Outlook, il problema potrebbe essere dovuto al trattamento del carattere$
nel tuo script o file di configurazione. - Per garantire un'esecuzione affidabile dei tuoi script SMTP, è fortemente consigliato evitare qualsiasi carattere speciale con un significato sintattico, in particolare
$
, nelle password utilizzate negli script e nei file di configurazione. - Il problema può verificarsi anche per connettersi ai database.
Regole da rispettare
Il carattere $
è un simbolo speciale in molti linguaggi e ambienti. Quando viene utilizzato in una password in uno script o in un file di configurazione, può essere interpretato erroneamente come una variabile o un carattere di controllo.
Ecco alcuni casi frequenti in cui non è consigliabile utilizzare il carattere $
in una password :
- PowerShell :
$
viene utilizzato per dichiarare variabili. Una password contenente$
può causare errori di sintassi o essere troncata. - Bash / Shell (Linux) :
$
è anche un prefisso di variabile. Può scatenare sostituzioni inattese. - File YAML (ad esempio Home Assistant, GitHub Actions, Docker Compose):
$
può essere interpretato come una variabile d'ambiente. - File
.env
,.ini
, o altri file di configurazione : gli strumenti che leggono questi file possono tentare di interpretare le variabili. - Comandi o URL con autenticazione : una password contenente
$
può essere codificata erroneamente o fallire durante l'analisi.
Per correggere o prevenire questo tipo di errore:
- Evita di utilizzare il carattere
$
nelle password destinate ad essere utilizzate in script o sistemi automatizzati. - Se dovete assolutamente utilizzarlo, incorniciate sempre la stringa della password correttamente secondo il linguaggio:
- In PowerShell: utilizzate le virgolette semplici
'password$Test'
se possibile. - In Python: assicuratevi che la stringa sia tra virgolette semplici o doppie, senza interpretazione.
- In Bash: scappate il
$
con una barra rovesciata\$
.
- In PowerShell: utilizzate le virgolette semplici
Link a questa FAQ: