from: Facebook [email protected]
reply-to: noreply <[email protected]>
to: Achal Tomar <[email protected]>
date: Wed, Jul 11, 2012 at 6:57 PM
subject: Abhishek Awasthi tagged a photo of you on Facebook
>mailed-by: facebookmail.com
>signed-by: facebookmail.com
这是我从 facebook 收到的邮件的详细信息,这里的 mailed-by: 和 signed-by: 标题相同,这对于邮件身份验证很重要。我也想在我的 postfix 邮件服务器中实现这个,有没有什么方法可以实现这个。我的场景如下:- 我有一个使用 postfix 作为 MTA 的 centOs 5 服务器,该服务器使用循环负载平衡技术来平衡发送到其他服务器以进行中继的邮件。所有服务器都在同一个域假设“example.com”现在我需要的是当邮件被发送到负载均衡器进行中继然后它发送所有由同一域签名的邮件,该域由以下签名:标头必须包含“ example.com”。此外,由中继服务器中继到目的地的邮件也必须具有相同的签名:“example.com”的标头。
您在 GMail 中看到的是 DKIM 和 SPF 验证的组合。SPF 相对简单,是一个 DNS 记录,指定指定哪些邮件服务器从您的域发送邮件。我相信这就是 Gmail 显示“邮寄人”标签的方式。DKIM 有点复杂,因为您将对外发邮件进行加密签名,主要使用 Postfix 过滤器。还有一个 DNS 条目,用于发布 DKIM 公钥。DKIM 验证在 GMail 中显示为“signed-by”标签。
在此处查看有关“signed-by”和“mailed-by”标签的官方文档。
对于 DKIM 入门,这里是wiki 页面。您使用的是 CentOS,但关于使用 Postfix 设置 DKIM的Ubuntu 文档相对清楚。您可以更具体地搜索面向 CentOS 的文档。
通常,您将安装 OpenDKIM 包(您需要启用 EPEL 存储库)并配置它(例如,生成密钥对,告诉 OpenDKIM 在签署给定域时使用哪个密钥等)。将有一个
opendkim
守护程序监听环回接口上的端口。Postfix 将被配置为通过该守护进程作为smtpd_milter
in处理邮件main.cf
。完成后,您将向指定公钥的域的 DNS 添加 TXT 记录。