概括
我有一台 Mattermost 服务器,需要在用户注册等时向他们发送电子邮件。这些电子邮件未通过 DKIM 检查,因此在用户的 Gmail 中显示为垃圾邮件。
观察到的行为
我的邮件服务器上设置了 DKIM、SPF 和 DMARC。我使用 SMTP 通过 Gmail 发送电子邮件,这些电子邮件通过了所有检查。当 Mattermost 通过 SMTP 通过同一服务器发送电子邮件时,电子邮件通过了 SPF,但未通过 DKIM,Gmail 发出以下消息:
dkim=fail [email protected] header.s=default header.b=YXmrE5yx;
发送电子邮件到 dkimvalidator.com 会导致 DKIM 收到以下消息:
Validating Signature
result = fail
Details: message has been altered
预期行为
我希望来自 Mattermost 的电子邮件能够通过 DKIM,因为它们位于我认为已在我的 DKIM 记录中允许的域下。
重现步骤
Mattermost 版本:5.19.1
数据库架构版本:5.19.0
数据库:mysql
我的 Mattermost 实例在具有弹性 IP 的 AWS EC2 实例上运行,但我已将其设置为使用子域名 chat.example.com。这对用户来说是可行的。
Mattermost 中的 SMTP 设置是:
SMTP Server: example.com
SMTP Server Port: 465
Enable SMTP Authentication: true
SMTP Server Username: [email protected]
Connection Security: TLS
Skip Server Certificate Verification: false
Enable Security Alerts: true
这些设置的作用是,电子邮件可以成功发送;但它只是被 Gmail 归为垃圾邮件。
我的 DKIM 记录是:
v=DKIM1; k=rsa; c=relaxed/relaxed; d=example.com; p=[DKIM-key redacted]
我的 SPF 记录是:
v=spf1 +mx +a +ipx:xxx:xxx:xx +include:google.com +include:mailgun.org +include:[IP of the EC2 instance] ~all
我有点不知道下一步该如何进一步排除故障;非常感激您的想法!