Eu tenho +
e =
caracteres na minha senha do Gmail. Como posso configurar ssmtp
para evitar erros de autorização?
Meu /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
Como executo 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)
Responder1
Ainda existem vários bugs pendentes relacionados a caracteres especiais na AuthPass
linha do /etc/ssmtp/ssmtp.conf
arquivo:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?repeatmerged=no&src=ssmtp#_0_3_4
Esses relatórios de bugs são especificamente para a ssmtp
página no Debian, mas provavelmente se aplicam a outras.
- Registros de relatórios de bugs do Debian -#463196: ssmtp não pode analisar AuthPass com '=' ou ':' nele
- Registros de relatórios de bugs do Debian -#768129: ssmtp: O mesmo problema aqui com "#"
De acordo com esses logs de relatório, as linhas que contêm os caracteres =, :, ou #são totalmente ignoradas ou processadas de forma a remover a parte da senha no lado direito desses caracteres.
Em outras palavras, atualmente não há como "escapar" desses caracteres especiais na AuthPass
linha.
Como observação lateral, existem vários dispositivos, como impressoras domésticas sem fio, que exigem a digitação de senhas em um teclado numérico, semelhante aos usados em telefones. Alguns caracteres especiais estão disponíveis nestes dispositivos, mas muitos não podem ser selecionados.
Para situações como essa, você é (infelizmente) forçado a ajustar a senha do dispositivo.
Uma senha mais longa composta por letras e números é preferível a uma senha mais curta com mais caracteres de pontuação.
Esta pergunta também foi feita e respondida muito bem na página seguinte:
Responder2
Você pode usar a seguinte solução alternativa:
feed the password directly in the command line argument
ssmtp -ap "Hash#Senha" ...
alternatively put the password in an environment variable.
ssmtp -ap $PASSWD...
Espero que tenha ajudado.
Responder3
A resposta depende muito do contexto em que você está inserindo ou enviando a senha. Em alguns formatos, você pode colocar sua senha entre ""
's, em outros você precisaria escapar dos caracteres ofensivos. Essepersonagem de fuga, difere entre programas, shells, sistemas operacionais, etc. Em scripts em lote do Windows, o escape é ^
enquanto em certas situações do Linux ou de terminal, o escape é \
.
Responder4
Tente escapar do segundo sinal de igual:
AuthPass=1234+\=5678