Caracteres especiais na senha ssmtp

Caracteres especiais na senha ssmtp

Eu tenho +e =caracteres na minha senha do Gmail. Como posso configurar ssmtppara 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 AuthPasslinha do /etc/ssmtp/ssmtp.confarquivo:

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 ssmtppá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 AuthPasslinha.


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:

Quais caracteres são ilegais na senha do ssmtp.conf?

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

informação relacionada