Wissensdatenbank
1 000 FAQs, 500 Anleitungen und erläuternde Videos. Hier gibt es nur Lösungen!
Fehler bei E-Mail beheben ($ im Passwort)
Dieser Leitfaden beschreibt die spezifischen Regeln, die beim Verwenden eines Passworts mit dem Zeichen „Dollar“ $ zum Senden einer E-Mail über den SMTP von Infomaniak in einem Skript (PowerShell, Python usw.) zu beachten sind.
Vorwort
- Wenn beim Senden einer E-Mail über SMTP ein Authentifizierungsfehler auftritt (z. B.
auth failed,invalid login or password), obwohl das Passwort korrekt ist und in einer Software wie Outlook funktioniert, kann das Problem vom Zeichen$in Ihrem Skript oder Ihrer Konfigurationsdatei herrühren. - Um eine zuverlässige Ausführung Ihrer SMTP-Skripte zu gewährleisten, wird dringend empfohlen, alle Sonderzeichen mit syntaktischer Bedeutung, insbesondere
$, in den in Skripten und Konfigurationsdateien verwendeten Passwörtern zu vermeiden. - Das Problem kann auch beim Verbinden mit Datenbanken auftreten.
Zu beachtende Regeln
Das Zeichen $ ist in vielen Sprachen und Umgebungen ein spezielles Symbol. Wenn es in einem Passwort in einem Skript oder einer Konfigurationsdatei verwendet wird, kann es fälschlicherweise als Variable oder Steuerzeichen interpretiert werden.
Hier sind häufige Fälle, in denen das Zeichen nicht verwendet werden sollte $ in einem Passwort:
- PowerShell:
$wird verwendet, um Variablen zu deklarieren. Ein Passwort, das$enthält, kann zu Syntaxfehlern führen oder abgeschnitten werden. - Bash / Shell (Linux):
$ist auch ein Variablenpräfix. Es kann unerwartete Substitutionen auslösen. - YAML-Dateien (z. B. Home Assistant, GitHub Actions, Docker Compose):
$kann als Umgebungsvariable interpretiert werden. - Dateien
.env,.ini, oder andere Konfigurationsdateien: Die Tools, die diese Dateien lesen, können versuchen, die Variablen zu interpretieren. - Befehle oder URLs mit Authentifizierung: Ein Passwort, das
$enthält, kann falsch codiert oder beim Parsen fehlschlagen.
Um diesen Fehler zu beheben oder zu verhindern:
- Vermeiden Sie die Verwendung des Zeichens
$in Passwörtern, die für die Verwendung in Skripten oder automatisierten Systemen bestimmt sind. - Wenn Sie es unbedingt verwenden müssen, umrahmen Sie immer die Passwortzeichenfolge korrekt gemäß der Sprache:
- In PowerShell: Verwenden Sie einfache Anführungszeichen
'password$Test', wenn möglich. - In Python: Stellen Sie sicher, dass die Zeichenfolge in einfachen oder doppelten Anführungszeichen steht, ohne Interpretation.
- In Bash: Entkommen Sie dem
$mit einem Backslash\$.
- In PowerShell: Verwenden Sie einfache Anführungszeichen
Link zu dieser FAQ:
War diese FAQ nützlich?