Я запускаю Ubuntu Server 16.04 с пакетом ssmtp для sendmail. Я читал из разнообразие из места что вы не можете использовать «специальные» символы в пароле, и я обнаружил, что это правда, что я не могу убежать или процитировать пароль. Мне удалось проверить работоспособность только буквенно-цифровых паролей в ssmtp.conf, но я нигде не могу найти это документально. У меня вопрос, какие символы разрешены / запрещены в пароле?
В качестве альтернативы, есть ли другой метод побега? Я пробовал использовать обратную косую черту, одинарные и двойные кавычки, но безрезультатно.
Спасибо
Похоже, в списке есть ряд выдающихся ошибок. Вот что касается проблемных персонажей в AuthPass
директива:
и я не знаю, относится ли это конкретно к ssmtp, но обычно плохие символы для использования в паролях - это пробелы, расширенный ASCII: è é ê ë и т. д. и UNICODE. Придерживаться a-z A-Z 0-9 .-
и делать пароли длиннее, чем сложнее.
Глядя на 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;
Я все же хотел бы получить авторитетный ответ по этому поводу или исчерпывающую ссылку на документацию.
Вы можете использовать следующий обходной путь:
ssmtp -ap "Hash#Password" ...
ssmtp -ap $PASSWD ...
Надеюсь, это помогло.