Caracteres especiais na senha ssmtp

14

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)
Jofsey
fonte
1
Em que programa o erro ocorre? Por favor, dê-nos algum contexto. A brevidade é boa, mas é pouco para trabalhar.
usuário 99572 está bem
Anexei mais algumas informações à pergunta.
Jofsey
Você tentou aspas simples, que devem trabalhar para você
Suyash Jain
O bug está no github.com/ajwans/sSMTP/blob/master/ssmtp.c#L913 , lembro-me de que enviei um patch em 2010 ... ninguém se importa. Eu acho que é um recurso, ao invés de um bug!
David S.

Respostas:

5

Ainda existem vários bugs pendentes que lidam com 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 erros são especificamente para a ssmtppágina no Debian, mas provavelmente se aplicam a outros.

  • Log de relatórios de bugs da Debian - # 463196 : ssmtp não pode analisar AuthPass com '=' ou ':' nele
  • Log de relatórios de bugs da Debian - # 768129 : ssmtp: O mesmo problema aqui com "#"

De acordo com estes registos de relatório, linhas contendo os caracteres =, :ou #são ou completamente omitido, ou processado de uma forma que elimina a parte da palavra-passe no lado da mão direita esses 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 que as senhas sejam inseridas em um teclado numérico, semelhantes às usadas nos telefones. Alguns caracteres especiais estão disponíveis nesses dispositivos, mas muitos não podem ser selecionados.

Em situações como essa, você (infelizmente) é forçado a ajustar sua senha para o dispositivo.

Uma senha mais longa, composta por letras e números, é preferida a uma senha mais curta, com mais caracteres de pontuação.


Esta pergunta também foi feita e respondida muito bem na página a seguir:

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

JonathanDavidArndt
fonte
@ Hugo Esse pode ser um bom tópico para outra pergunta: superuser.com/help/how-to-ask Se você encontrar algo ou postar o seu, fique à vontade para deixar outro comentário aqui, com um link para ele.
JonathanDavidArndt
Os mantenedores devem considerar tratar a entrada do arquivo de configuração como codificado por URL, como em alguns outros pacotes.
Old Geezer
1

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.

Hugo Trentesaux
fonte
-1

A resposta depende muito do contexto em que você está inserindo ou enviando a senha. Em alguns formatos, você pode ""colocar sua senha em 's'; em outros, você precisará escapar dos caracteres incorretos. Esse caractere de escape difere entre programas, shells, sistemas operacionais etc. Nos scripts em lote do Windows, o escape ocorre ^em determinadas situações do Linux ou do terminal \.

PenguinCoder
fonte
1
Tentei armazenar minha senha no 1234\+\=5678formulário, mas obtive o mesmo erro.
Jofsey
1
O contexto é o ssmtppacote, não o SMTP em geral.
Kenny Evitt
-1

Tente escapar do segundo sinal de igual:

AuthPass=1234+\=5678
Malcolm Boekhoff
fonte