使用每个用户的公共 pgp 密钥加密所有收到的邮件

使用每个用户的公共 pgp 密钥加密所有收到的邮件

我想要做的是能够获取所有传入消息并使用该用户的公共 pgp 密钥对其进行加密。

我正在运行 postfix + courier 等。 http://flurdy.com/docs/postfix/

我读过这个https://grepular.com/Automatically_Encrypting_all_Incoming_Email这对我来说很有意义,但它适用于单个用户的所有邮件。

我查看了 gpg-mailgate(我无法再发布任何链接)

还使用队列后内容过滤器挂钩来获取每个用户的电子邮件,然后将其传递、加密,然后传回进行传递。

我的问题是,有人成功实施过这种设置吗?我很好奇,如果已经加密的消息通过了会发生什么?

我只是在这里寻找一些方向。似乎有几个选项,我不确定哪一个是正确的。

答案1

如果你使用导游maildrop,你有完整的导游包然后您可以使用xfiltermailfilter 表达式和 Courier 的mimegpg命令(来自sqwebmail包):

exception {
  xfilter "mimegpg -e -- -r $LOGNAME"
}

您可以选择添加过滤器以包含/排除特定的电子邮件,例如按发件人、主题或已包含加密部分的电子邮件(取决于您希望它的强大程度以及您的偏执/谨慎程度)。

传递用户必须有权访问收件人的公钥,您可能需要拥有密钥服务器或共享密钥环。LOGNAME可能需要进行一些调整,在我的首选配置中,它是一个完整的电子邮件地址,而不仅仅是本地部分,所以上述方法对我来说是可行的。

mimegpg保留电子邮件标头,并逐部分加密电子邮件。每个部分都变成一个新multipart/encrypted容器,其中包含application/pgp-encrypted存根部分和application/octet-streamASCII 封装的有效负载。我的电子邮件客户端和 GPG 插件对此没有问题,但有些可能有问题。

我也曾经使用过mimedefang与之交互gpg,这提供了更大的灵活性,但需要一些非平凡的代码。

如果你使用 postfix 直接投递到 maildir,或者你不将maildrop其用作 MDA,那么这将不适用。你可以设置要使用的 postfixmaildrop,或者也许做一些类似的事情mimegpg以及你使用的任何东西。

相关内容