Mein Gmail-Passwort enthält +
und Zeichen. Wie kann ich es konfigurieren , um Autorisierungsfehler zu vermeiden?=
ssmtp
Mein /etc/ssmtp/ssmtp.conf
:
[email protected]
mailhub=smtp.gmail.com:465
rewriteDomain=gmail.com
AuthUser=username
AuthPass=1234+=5678
FromLineOverride=YES
UseTLS=YES
hostname=skynet
Wie laufe ich ssmtp
:
$ echo "email content" | mail -s "email subject" [email protected]
send-mail: Authorization failed (535 5.7.1
http://support.google.com/mail/bin/answer.py?answer=14257
hz16sm4385885lab.6)
Antwort1
Es gibt noch immer eine Reihe ungelöster Fehler im Zusammenhang mit Sonderzeichen in der AuthPass
Zeile der /etc/ssmtp/ssmtp.conf
Datei:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?repeatmerged=no&src=ssmtp#_0_3_4
Diese Fehlerberichte beziehen sich speziell auf die ssmtp
Seite in Debian, gelten aber wahrscheinlich auch für andere.
- Debian-Fehlerberichtsprotokolle -#463196: ssmtp kann AuthPass mit '=' oder ':' darin nicht analysieren
- Debian-Fehlerberichtsprotokolle -#768129: ssmtp: Gleiches Problem hier mit "#"
Laut diesen Berichtsprotokollen werden Zeilen, die die Zeichen =, :, oder enthalten #, entweder vollständig übersprungen oder so verarbeitet, dass der Teil des Kennworts rechts von diesen Zeichen entfernt wird.
Mit anderen Worten: Es gibt derzeit keine Möglichkeit, diese Sonderzeichen in der AuthPass
Zeile zu „escapen“.
Nebenbei bemerkt: Es gibt eine Reihe von Geräten, wie z. B. drahtlose Heimdrucker, bei denen Passwörter auf einem Ziffernblock eingegeben werden müssen, ähnlich wie bei Telefonen. Einige Sonderzeichen sind auf diesen Geräten verfügbar, viele können jedoch nicht ausgewählt werden.
Für solche Situationen sind Sie (leider) gezwungen, Ihr Geräte-Passwort anzupassen.
Ein längeres Passwort aus Buchstaben und Zahlen ist einem kürzeren mit mehr Satzzeichen vorzuziehen.
Diese Frage wurde auch auf der folgenden Seite gestellt und sehr gut beantwortet:
Antwort2
Sie können die folgende Problemumgehung verwenden:
feed the password directly in the command line argument
ssmtp -ap "Hash#Passwort" …
alternatively put the password in an environment variable.
ssmtp -ap $PASSWD …
Hoffe, es hat geholfen.
Antwort3
Die Antwort hängt stark vom Kontext ab, in dem Sie das Passwort eingeben oder übermitteln. In einigen Formaten können Sie Ihr Passwort in ""
's einschließen, in anderen müssen Sie die störenden Zeichen maskieren. DiesEscape-Zeichen, unterscheidet sich zwischen Programmen, Shells, Betriebssystemen usw. In Windows-Batch-Skripten ist das Escape, ^
während in bestimmten Linux- oder Terminalsituationen das Escape ist \
.
Antwort4
Versuchen Sie, das zweite Gleichheitszeichen zu maskieren:
AuthPass=1234+\=5678