Специальные символы в пароле ssmtp

Специальные символы в пароле ssmtp

У меня в пароле 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строке.


В качестве примечания, есть ряд устройств, таких как беспроводные домашние принтеры, которые требуют ввода паролей на цифровой клавиатуре, похожей на ту, что используется на телефонах. Некоторые специальные символы доступны на этих устройствах, но многие из них не могут быть выбраны.

В подобных ситуациях вам (к сожалению) придется сменить пароль для устройства.

Более длинный пароль, состоящий из букв и цифр, предпочтительнее короткого пароля с большим количеством знаков препинания.


Этот вопрос также был задан и на него дан очень хороший ответ на следующей странице:

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

решение2

Вы можете использовать следующий обходной путь:

feed the password directly in the command line argument

ssmtp -ap "Хэш#Пароль" ...

alternatively put the password in an environment variable.

ssmtp -ap $ПАРОЛЬ ...

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

решение3

Ответ сильно зависит от контекста, в котором вы вводите или отправляете пароль. В некоторых форматах вы можете заключить свой пароль в ""'s, в других вам нужно будет экранировать неприятные символы. Этоэкранированный символ, отличается в разных программах, оболочках, операционных системах и т. д. В пакетных скриптах Windows экранированием является , ^тогда как в определенных ситуациях Linux или терминала экранированием является \.

решение4

Попробуйте экранировать второй знак равенства:

AuthPass=1234+\=5678

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