Base di conoscenze

1 000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!

Risolvere un errore di posta elettronica ($ nella password)

Aggiornamento 18/05/2026

Questa guida dettaglia le regole specifiche da rispettare durante l'utilizzo di una password contenente il carattere “dollaro” $ 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) mentre la password è corretta e funziona in un software come Outlook, il problema potrebbe derivare dal 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 che abbia 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ò innescare sostituzioni inattese.
  • File YAML (ad esempio Home Assistant, GitHub Actions, Docker Compose): $ può essere interpretato come una variabile di 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 in modo errato 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 devi assolutamente utilizzarlo, assicurati sempre che la stringa della password sia correttamente delimitata secondo il linguaggio:
    • In PowerShell: utilizza apici semplici 'password$Test' se possibile.
    • In Python: assicurati che la stringa sia tra apici semplici o doppi, senza interpretazione.
    • In Bash: scappa il $ con una barra rovesciata \$.

Questa FAQ è stata utile?