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: