私はmutt
(mutt-kz
実際に移行したいが、これはより大きなプロジェクトです)私のSMTPパスワードを設定ファイルにプレーンテキストとして保存する必要がないようにneomutt
ここからインポートしたいのですpass
が.muttrc
。
これが私が持っているものです.muttrc
:
source ~/.mutt/pass.sh|
set smtp_pass = $my_pass
次に、次の.mutt/pass.sh
ものを含めます。
#! /bin/bash
my_pass=$(pass Example/user)
コマンドラインから追加してecho ${my_pass}
実行すると、私のパスワードが表示されます。pass.sh
起動時にgpgキーのロックをmutt-kz
解除するように求められ、一部のpass
機能が機能しますが、Muttからメールを送信しようとすると、SMTPパスワードを要求し、パスワードを入力しないと電子メールは送信されません。 SASL認証に失敗しました」
それでは...シェルスクリプトの変数を自分のスクリプトに正しく渡すにはどうすればよいですか.muttrc
?
ベストアンサー1
プログラムは~/.mutt/pass.sh
以下のように出力を生成する必要があります。
set my_pass = swordfish
だから、
#!/bin/sh
echo "set my_pass = swordfish"
パスワードに特定の特殊文字(\'"
およびスペース)が含まれている場合は、次のことを行う必要があります。引用する。たとえば、パスワードがテキストファイルにある場合は、次のようになり~/passwords/smtp.txt
ます。
#!/bin/sh
~/passwords/smtp.txt sed 's/["$`\\]/\\&/g; s/^/set my_pass = "/; s/$/"/'
パスワードの場合、sword\fish
この内容が印刷されますset my_pass="sword\\fish"
。
Gnomeキーリングを使用してパスワードを保存する場合は、このsecret-tool
ユーティリティを使用してキーリングからパスワードを読み取ることができます。たとえば、次はOffice 365パスワードに使用します(パスワードには引用符を付ける必要がある特殊文字は含まれていません)。
source 'printf "set imap_pass="; secret-tool lookup action_url https://login.microsoftonline.com/common/login |'