Eu gostaria mutt
( mutt-kz
na verdade -- eu adoraria migrar para neomutt
, mas esse é um projeto maior) obter minha senha SMTP pass
para não ter que mantê-la armazenada em texto não criptografado em meu arquivo de configuração, mas não estou certeza de como passar corretamente a senha para o meu arquivo .muttrc
.
Isto é o que eu tenho em .muttrc
:
source ~/.mutt/pass.sh|
set smtp_pass = $my_pass
E então .mutt/pass.sh
contém:
#! /bin/bash
my_pass=$(pass Example/user)
Se eu adicioná echo ${my_pass}
- pass.sh
lo e executá-lo na linha de comando, ele ecoará minha senha.
Quando inicio mutt-kz
, sou solicitado a desbloquear minha pass
chave gpg, então algo está funcionando, mas quando tento enviar e-mail do Mutt, ele solicita minha senha SMTP e falha se eu não fornecê-la, a mensagem não é enviada: ( "Falha na autenticação SASL")
Então... como passo corretamente a variável do meu shell script para o meu .muttrc
?
O programa
~/.mutt/pass.sh
deve produzir uma saída que se pareça comEntão pode ser algo como
Observe que, se sua senha contiver certos caracteres especiais (
\'"
e espaços em branco), você precisará citá-la . Por exemplo, se sua senha estiver no arquivo de texto~/passwords/smtp.txt
, você pode usar:Para a senha
sword\fish
, isso imprimeset my_pass="sword\\fish"
.Se você usar o Gnome-keyring para armazenar suas senhas, poderá usar o
secret-tool
utilitário para ler sua senha no chaveiro. Por exemplo, isso é o que eu uso para uma senha do Office 365 (com uma senha que não contém nenhum caractere especial que precise de aspas):A outra possibilidade seria o uso de expansão backtick. Então você deve ser capaz de fazer:
Se você migrar para
neomutt
eventualmente, também poderá definir a variável com a linha de comando, ou sejae então você pode usar
my_pass
a variável como no seu exemplo.