我是 mutt 的新手。
我已经阅读了这个问题并实施了它(https://superuser.com/questions/31305/mutt-how-to-safely-store-password),但这不是我想要的理想解决方案。
确实,我希望 mutt 在会话开始时提示我输入一次 imap 密码,并将其作为我的 imap 和 smtp 密码存储在内存中。我不确定这是否可行。
上述破解方法有效,但感觉有点笨拙,这意味着我的密码会被写入磁盘,即使它是加密的,我是一个偏执的人。
答案1
就我个人而言,我使用 GnuPG 来存储我的密码。
密码存储在加密文件中。每当我启动 mutt 时,它都会尝试解密密码,并且 GnuPG 会自动询问我的私钥密码。然后 mutt 会在当前会话中记住这些密码,之后就会忘记。
Mutt 配置如下:
set my_pw1=`gpg --batch -q --decrypt ~/.mutt/acc1pw`
set my_pw2=`gpg --batch -q --decrypt ~/.mutt/acc2pw`
set imap_pass=$my_pw1
set smtp_pass=$my_pw2
前两行将加载加密的密码,后两行分别将它们设置为 IMAP 和 SMTP 密码。您也可以只使用一个密码而不是两个密码,我使用不同密码的原因是我有多个不在同一台服务器上的帐户。
为了将密码存储在加密文件中,您必须确保仅存储密码,而不存储任何其他字符(包括换行符)。您可以从命令行执行此操作,如下所示:
$ gpg --encrypt -r RECIPIENT > ~/.mutt/acc1pw
my_password<Ctrl+D>
这应该会按照您期望的方式工作。您需要一个 GnuPG 公钥/私钥对才能按照我上面发布的方式工作。据我所知,GnuPG 也可以进行对称加密,但我从未尝试过,所以您的情况可能会有所不同。不过,手册页应该可以帮助您解决这个问题。