ssmtp.conf のパスワードで使用できない文字は何ですか?

ssmtp.conf のパスワードで使用できない文字は何ですか?

私はsendmail用のssmtpパッケージを搭載したUbuntu Server 16.04を実行しています。バラエティ場所パスワードに「特殊」文字を使用できないと書いてありますが、パスワードをエスケープしたり引用符で囲んだりできないのは事実です。ssmtp.conf で英数字のパスワードのみが機能することを確認しましたが、これに関する文書はどこにも見つかりません。質問ですが、パスワードに使用できる/使用できない文字は何ですか?

あるいは、他のエスケープ方法はありますか? バックスラッシュ、一重引用符、二重引用符を試しましたが、効果はありませんでした。

ありがとう

答え1

未解決のバグが多数リストされているようですここ指令内の問題のある文字に関してAuthPass:

  • バグレポート768129: ハッシュ/ポンド文字#
  • バグレポート463196: イコールと=コロン:

特に ssmtp に当てはまるかどうかはわかりませんが、一般的にパスワードに使用してはいけない文字は、スペース、拡張 ASCII (è é ê ë など)、および UNICODE です。a-z A-Z 0-9 .-パスワードは複雑にせず、長くするようにしてください。

答え2

read_config()方法を見ると883行目現在の BLOB af4d1e58d28fa9450bfc6a80fbacc75ca28c2220 の場合、等号=またはシャープ記号によって#、暗黙的に続行され、構成ファイルのその行の解析がスキップされるようです。

    /* Make comments invisible */
    if((p = strchr(buf, '#'))) {
        *p = (char)NULL;
    }

    /* Ignore malformed lines and comments */
    if(strchr(buf, '=') == (char *)NULL) continue;

私は、この件に関して権威ある回答や、文書への明確な参照を依然として見たいと思っています。

答え3

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

  • コマンドライン引数にパスワードを直接入力する
ssmtp -ap "Hash#Password" ...
  • あるいは、パスワードを環境変数に設定します。
ssmtp -ap $PASSWD ...

お役に立てれば幸いです。

関連情報