ssmtpパスワードの特殊文字


14

Gmailのパスワードに+との=文字があります。ssmtp認証エラーを回避するように構成するにはどうすればよいですか?

私の/etc/ssmtp/ssmtp.conf

root=username@gmail.com
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" otherMail@gmail.com
send-mail: Authorization failed (535 5.7.1
http://support.google.com/mail/bin/answer.py?answer=14257
hz16sm4385885lab.6)

1
エラーはどのプログラムで発生しますか?コンテキストを教えてください。簡潔さは良いのですが、これは作業するのに少しです。
ユーザー99572は

質問にさらに情報を添付しました。
ジョフジー

あなたはあなたのために働くべきで単一引用符、しようとしました
Suyashジャイナ教の

バグはgithub.com/ajwans/sSMTP/blob/master/ssmtp.c#L913にあり、2010年にパッチを提出したことを覚えています...誰も気にしません。バグではなく機能だと思います!
デビッドS.

回答:


5

ファイル内のAuthPass行に特殊文字を扱う未解決のバグがまだいくつかあり/etc/ssmtp/ssmtp.confます。

https://bugs.debian.org/cgi-bin/pkgreport.cgi?repeatmerged=no&src=ssmtp#_0_3_4

これらのバグレポートはssmtpDebian のページ専用ですが、おそらく他の人にも当てはまります。

  • Debianバグレポートログ- #463196:ssmtpは '='または ':'を含むAuthPassを解析できません
  • Debianバグレポートログ- #768129:ssmtp:ここで「#」と同じ問題

これらのレポートログによると、文字を含む行=:または#いずれかを完全にスキップ、または右側にこれらの文字をパスワードの一部を取り除くように処理されています。

つまり、現在のところ、これらの特殊文字を「エスケープ」する方法はありません AuthPass行。


副次的な注意事項として、電話で使用されるものと同様に、パスワードをテンキーに入力する必要があるワイヤレスホームプリンターなどのデバイスがいくつかあります。一部の特殊文字はこれらのデバイスで使用できますが、多くは選択できません。

このような状況では、(残念ながら)デバイスのパスワードを調整する必要があります。

文字と数字で構成される長いパスワードは、句読文字が多い短いパスワードよりも優先されます。


この質問は、次のページでも非常によく尋ねられて回答されています。

ssmtp.confのパスワードではどの文字が違法ですか?


@Hugo別の質問の良いトピックかもしれません:superuser.com/help/how-to-ask何かを見つけたり、自分で投稿したりする場合は、ここにリンクして別のコメントを残してください。
JonathanDavidArndt

メンテナーは、他のいくつかのパッケージと同様に、構成ファイルのエントリをUrlencodedとして扱うことを検討する必要があります。
オールドギーザー

1

次の回避策を使用できます。

feed the password directly in the command line argument

ssmtp -ap "Hash#Password" ...

alternatively put the password in an environment variable.

ssmtp -ap $ PASSWD ...

それが役に立てば幸いです。


-1

答えは、パスワードを入力または送信するコンテキストに大きく依存します。一部の形式ではパスワードを""'で囲むことができますが、他の形式では問題のある文字をエスケープする必要があります。このエスケープ文字は、プログラム、シェル、オペレーティングシステムなどによって異なります。Windowsバッチスクリプトではエスケープが行われます^が、特定のLinuxまたは端末の状況ではエスケープが行われ\ます。


1
パスワードを1234\+\=5678フォームに保存しようとしましたが、同じエラーが発生しました。
ジョフジー

1
コンテキストはssmtpパッケージであり、一般的なSMTPではありません。
ケニーエビット16

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.