如果您想在 Sylpheed 电子邮件客户端中解密邮件手动的建议创建一个自定义操作来执行以下命令:
*gpg2 --no-tty --batch --yes --command-fd 0 --passphrase-fd 0 --decrypt %f|
如果我尝试使用此操作解密电子邮件,终端的输出将写入电子邮件正文。但它只将最后 1000 行写入电子邮件文件。我更改了 下 lxterminal 的回滚属性/home/ubuntu/.config/lxterminal/lxterminal.conf
。但似乎并不影响输出。我还尝试将输出重定向到自己的电子邮件文件
*gpg2 --no-tty --batch --yes --command-fd 0 --passphrase-fd 0 --output %f --decrypt %f
在这种情况下,我丢失了电子邮件中的所有标题信息。
答案1
我在下面创建一个新操作Configuration / Actions...
并将命令分配*/home/ubuntu/Documents/CustomScripts/decryptMail.sh %f ~/doc
给该操作。
cryptoMail.sh 文件包含以下命令:
gpg2 --no-tty --batch --yes --command-fd 0 --passphrase-fd 0 --output $2 --decrypt $1
decryptedString=$(cat $2);
escaped=$(printf '%s\n' "$decryptedString" | sed 's:[\/&]:\\&:g;$!s/$/\\/');
sed -i '/-BEGIN PGP MESSAGE-/,/-END PGP MESSAGE-/{//!d}' $1;
sed -i "/BEGIN PGP MESSAGE/a $escaped" $1;
在我的研究过程中,出现了两个可以增强脚本的问题。第一个问题是关于这部分的,当我想将~/doc
文件中的解密文本(由 $2 表示)插入到电子邮件文件(由 $1 表示)中时。我读到可以用 -function 来完成r
,但我所有的踪迹都sed '/-BEGIN PGP MESSAGE-/r$1' $2
不起作用。有什么建议么?第二个问题是;如何告诉Sylpheed
重新加载电子邮件文件?到目前为止,我必须单击其他一些电子邮件,然后返回到解密的电子邮件才能查看脚本对电子邮件文件所做的更改。