欢迎光临
我们一直在努力

为什么我的 VPS 发出的邮件全在对方的垃圾箱里?怎么做 SPF 和 DKIM 记录?

许多站长使用自己的VPS或虚拟机发送网站通知、注册确认或系统邮件时,经常发现这些邮件直接进了收件人的垃圾箱。这不仅影响用户体验,也严重损害了你的域名信誉。

根本原因在于,主流的邮件服务提供商(如Gmail、Outlook)会严格检查邮件的身份认证信息。如果你的域名缺乏SPF和DKIM记录,收件服务器无法确认邮件是否真的由你授权发送,因此会将其视为垃圾邮件或可疑邮件。

配置SPF和DKIM是提升邮件送达率最关键的两步。

第一步:配置SPF(Sender Policy Framework)

SPF是一种TXT记录,它定义了哪些IP地址被允许代表你的域名发送邮件。如果邮件的发送IP不在SPF记录列表中,它很可能被拒绝或标记为垃圾邮件。

1. 确定你的发送IP

如果你的VPS IP是 192.0.2.10,你需要将这个IP地址添加到你的SPF记录中。

2. 添加SPF记录

在你的域名DNS管理界面(例如 Cloudflare、阿里云或你的注册商),添加一条TXT记录。

示例配置(假设你只用VPS IP发送邮件):

字段
类型 TXT
主机记录 @yourdomain.com
记录值 v=spf1 ip4:192.0.2.10 -all

如果你还使用了第三方服务(如Google Workspace、SendGrid)发送邮件,你需要使用 include 关键字:

v=spf1 ip4:192.0.2.10 include:_spf.google.com ~all

语法解释:
* v=spf1: 声明使用SPF版本1。
* ip4:192.0.2.10: 授权该IPv4地址。
* include:_spf.google.com: 包含Google邮件服务的SPF记录。
* ~all: 软失败(SoftFail),表示未授权的IP地址发送的邮件可能会被标记,但不会立即拒绝。(推荐使用,** -all **是硬失败,更严格)

第二步:配置DKIM(DomainKeys Identified Mail)

DKIM提供了一种加密签名机制,确保邮件在传输过程中没有被篡改,并验证发送者域名的真实性。SPF验证发送服务器IP,而DKIM验证邮件内容和发送者身份。

配置DKIM需要两个步骤:在服务器端生成密钥对,然后在DNS中添加公钥。

1. 生成DKIM密钥对(服务器端操作)

大多数VPS用户需要安装和配置如 OpenDKIM 或使用像cPanel/Plesk这样的面板来自动生成密钥。以使用OpenDKIM为例,生成密钥后,你会得到一个私钥(保留在服务器上)和一个公钥(用于DNS)。

示例(使用OpenDKIM工具,生成2048位密钥):

# 假设使用 'default' 作为选择器 (selector)
opendkim-genkey -D /etc/mail/dkim/yourdomain.com -d yourdomain.com -s default -r
chown opendkim:opendkim /etc/mail/dkim/yourdomain.com/*.private

生成的公钥文件(通常是 default.txtdefault.pub)中包含你需要在DNS中添加的记录值。

2. 添加DKIM记录(DNS配置)

将服务器生成的公钥内容,以TXT记录的形式添加到DNS中。

示例配置:

字段
类型 TXT
主机记录 default._domainkey
记录值 v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCb7p7S9oP… (这是你的公钥)

注意: 公钥内容非常长,许多DNS服务商需要你将公钥字符串拼接起来(去掉引号和空格)。

第三步:检查效果

配置完成后,等待DNS记录生效(通常几分钟到几小时)。然后,向如 mail-tester.comcheck-auth@verifier.port25.com 发送一封测试邮件。

这些工具会提供详细的报告,明确指出你的邮件是否通过了SPF、DKIM和DMARC(推荐配置完前两者后也配置DMARC)的检查。

【本站文章皆为原创,未经允许不得转载】:汤不热吧 » 为什么我的 VPS 发出的邮件全在对方的垃圾箱里?怎么做 SPF 和 DKIM 记录?
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址