Wissensdatenbank
1 000 FAQs, 500 Anleitungen und erläuternde Videos. Hier gibt es nur Lösungen!
Beheben eines E-Mail-Fehlers ($ 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 Verarbeiten des Zeichens$in Ihrem Skript oder der 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 Sonderzeichen. 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 gekürzt 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 Fehlertyp 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: https://faq.infomaniak.com/1608
War diese FAQ nützlich?