У меня есть +
и =
символы в моем пароле 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)
Ответы:
В
AuthPass
строке/etc/ssmtp/ssmtp.conf
файла по- прежнему есть ряд ошибок, связанных со специальными символами :https://bugs.debian.org/cgi-bin/pkgreport.cgi?repeatmerged=no&src=ssmtp#_0_3_4
Эти сообщения об ошибках предназначены специально для этой
ssmtp
страницы в Debian, но, вероятно, относятся к другим.Согласно этим журналам отчетов, строки, содержащие символы =, :либо #либо полностью пропускаются, либо обрабатываются таким образом, чтобы удалить часть пароля с правой стороны этих символов.
Другими словами, в настоящее время нет способа «экранировать» эти специальные символы в
AuthPass
строке.Как примечание, есть ряд устройств, таких как беспроводные домашние принтеры, которые требуют ввода паролей на цифровой клавиатуре, аналогично тем, которые используются на телефонах. Некоторые специальные символы доступны на этих устройствах, но многие не могут быть выбраны.
В подобных ситуациях вы (к сожалению) вынуждены изменить свой пароль для устройства.
Более длинный пароль, состоящий из букв и цифр, предпочтительнее, чем более короткий, с большим количеством знаков препинания.
Этот вопрос также очень хорошо задавался и отвечался на следующей странице:
Какие символы недопустимы в пароле в файле ssmtp.conf?
источник
Вы можете использовать следующий обходной путь:
ssmtp -ap "Hash # Password" ...
ssmtp -ap $ PASSWD ...
Надеюсь, это помогло.
источник
Ответ сильно зависит от контекста, в котором вы вводите или отправляете пароль. В некоторых форматах вы можете заключить свой пароль в
""
's', в других вам нужно будет экранировать символы, которые вас обидели. Этот escape-символ отличается между программами, оболочками, операционными системами и т. Д. В пакетных сценариях Windows экранирование происходит в^
то время, как в определенных Linux или терминальных ситуациях экранирование происходит\
.источник
1234\+\=5678
форме, но получил ту же ошибку.ssmtp
пакет, а не SMTP в целом.Попробуйте избежать второго знака равенства:
источник