Gmail のパスワードに 文字が含まれています。認証エラーを回避するには、どのように設定すればよい+
ですか?=
ssmtp
私の/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
実行方法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)
答え1
AuthPass
ファイル内の行の特殊文字に関連する未解決のバグがまだいくつかあります/etc/ssmtp/ssmtp.conf
。
https://bugs.debian.org/cgi-bin/pkgreport.cgi?repeatmerged=no&src=ssmtp#_0_3_4
これらのバグレポートはssmtp
Debian のページに特化したものですが、おそらく他のページにも当てはまります。
- Debian バグレポートログ -#463196: ssmtp は '=' または ':' を含む AuthPass を解析できません
- Debian バグレポートログ -#768129: ssmtp: ここでも「#」と同じ問題が発生します
これらのレポート ログによると、、、またはの文字を含む行は=完全:に#スキップされるか、これらの文字の右側にあるパスワードの部分を削除する方法で処理されます。
つまり、現時点では、行上でこれらの特殊文字を「エスケープ」する方法はありませんAuthPass
。
ちなみに、ワイヤレス ホーム プリンタなど、電話機で使用されるものと同様に、数字パッドでパスワードを入力する必要があるデバイスがいくつかあります。これらのデバイスでは一部の特殊文字を使用できますが、選択できない特殊文字も多数あります。
このような状況では、(残念ながら)デバイスのパスワードを調整する必要があります。
句読点を多く含む短いパスワードよりも、文字と数字で構成された長いパスワードが推奨されます。
この質問は次のページでも尋ねられ、非常によく答えられています。
答え2
次の回避策を使用できます。
feed the password directly in the command line argument
ssmtp -ap "ハッシュ#パスワード" ...
alternatively put the password in an environment variable.
ssmtp -ap $PASSWD ...
お役に立てれば幸いです。
答え3
答えは、パスワードを入力または送信する状況によって大きく異なります。一部の形式では、パスワードを""
「」で囲むことができますが、他の形式では、問題となる文字をエスケープする必要があります。エスケープ文字は、プログラム、シェル、オペレーティング システムなどによって異なります。Windows バッチ スクリプトではエスケープは です^
が、特定の Linux またはターミナル状況では、エスケープは です\
。
答え4
2 番目の等号をエスケープしてみてください:
AuthPass=1234+\=5678