我有一个客户要求加密从 Linux 服务器发出的所有电子邮件。可以使用任何软件、sendmail/postfix 等来完成此操作。他们给了我他们想要使用的密钥,并希望加密所有表单(使用 php)。我可以设置 sendmail/etc 来加密所有电子邮件吗?可以使用相同的密钥对所有邮件进行加密。
谢谢
答案1
如果你想使用 GnuPG 加密你的外发邮件,而不涉及你的 PHP 代码,那么GNU 阿努比斯可能就是您正在寻找的。它可以位于您的 SMTP 服务器前面,并且(除其他功能外)对您的邮件应用 GnuPG 加密。
这里的潜在问题是 Anubis 使用 SMTP 接收和提交邮件。虽然使用 SMTP 将邮件传递给 Postfix 显然没有任何问题,但 PHP 倾向于使用本地 sendmail 二进制文件。一个可能的解决方案(我自己还没有尝试过)是将 PHP:s sendmail_path= 指向 Anubis 帮助程序脚本msg2smtp.pl
当然,如果涉及多个 Postfix,一个在您的 Web 服务器上,另一个在您公司指定的邮件服务器上,那么实际上没有任何问题。在这种情况下,您所要做的就是简单地在两者之间插入 Anubis。
答案2
如果您所说的加密是指所有邮件都应使用 SSL/TLS 发送,那么使用 postfix 时,您只需将其设置smtp_enforce_tls
为是即可。您可以调整 SSL/TLS 设置,检查所有smtp_tls_*
选项。
如果您想使用 pgp/gpg/smime 加密邮件,那么您可能必须为此编写一个过滤器并用 指定它content_filter
。