Какие символы недопустимы в пароле в ssmtp.conf?

Какие символы недопустимы в пароле в ssmtp.conf?

Я использую Ubuntu Server 16.04 с пакетом ssmtp для sendmail. Я прочитал изразнообразиеизместачто вы не можете использовать "специальные" символы в пароле, и я обнаружил, что это правда, что я не могу экранировать или заключать пароль в кавычки. Я смог проверить только буквенно-цифровые пароли в ssmtp.conf, чтобы они работали, но я не могу найти это нигде задокументированным. Мой вопрос: какие символы разрешены/запрещены для пароля?

Или есть ли другой способ экранирования? Я пробовал обратный слеш, одинарные и двойные кавычки, но безрезультатно.

Спасибо

решение1

Кажется, есть ряд нерешенных ошибок.здесьотносительно проблемных символов в AuthPassдирективе:

  • отчет об ошибке768129: символ решетки/решетки#
  • отчет об ошибке463196: знаки равенства =и двоеточия:

и я не знаю, будет ли это так конкретно для ssmtp, но в целом плохие символы для использования в паролях - это пробелы, расширенный ASCII: è é ê ë и т. д. и UNICODE. Придерживайтесь a-z A-Z 0-9 .-и делайте пароли длиннее, а не сложнее.

решение2

Рассматривая read_config()метод настрока 883для текущего блоба 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 ...

Надеюсь, это помогло.

Связанный контент