在Debian 8上使用Postfix配置SPF和DKIM

SPF(发件人策略框架)是一种向邮件服务器标识允许哪些主机为给定域发送电子邮件的系统。设置SPF有助于防止您的电子邮件被归类为垃圾邮件。

DKIM(DomainKeys Identified Mail)是一个系统,可让您的官方邮件服务器向外发电子邮件的标头添加签名,并识别您的域的公钥,以便其他邮件服务器可以验证签名。与SPF一样,DKIM有助于防止您的邮件被视为垃圾邮件。它还允许邮件服务器检测您的邮件何时在传输过程中被篡改。

DMARC(域消息身份验证,报告和一致性)允许您向邮件服务器通告您的域的策略与SPF和/或DKIM验证失败的邮件有关。它还允许您从接收邮件服务器请求有关失败消息的报告。

用于设置SPF,DKIM和DMARC的DNS指令是通用的。在对包工具进行相应的代码调整并确定Unix套接字文件的确切路径之后,将SPF策略代理和OpenDKIM配置为Postfix的说明应适用于任何分发。

注意本指南中所需的步骤需要root权限。请务必以root身份或使用sudo前缀运行以下步骤。有关权限的更多信息,请参阅我们的用户和组指南。 警告您必须已经安装,配置和工作Postfix。请参阅Linode Postfix指南以获取帮助。 在没有在Postfix中配置SPF策略代理的情况下发布SPF DNS记录是安全的; 但是,在Postfix中没有OpenDKIM正常工作的情况下发布DKIM DNS记录会导致您的电子邮件被收件人的电子邮件服务器丢弃。

安装DKIM,SPF和Postfix

  1. 安装四个必需的包:

apt-get install opendkim opendkim-tools postfix-policyd-spf-python postfix-pcre

2.将用户添加postfixopendkim组中,以便Postfix可以在需要时访问OpenDKIM的套接字:

adduser postfix opendkim

设置SPF

将SPF记录添加到DNS

SPF DNS记录中的值类似于以下示例。完整语法位于SPF记录语法页面

示例1 允许来自域的MX记录中列出的所有主机的邮件:

v=spf1 mx -all

示例2 允许来自特定主机的邮件:

v=spf1 a:mail.example.com -all
  • v=spf1标签是必需的,必须是第一个标签。
  • 最后一个标记-all表示来自您的域的邮件应该只来自SPF字符串中标识的服务器。来自任何其他来源的任何东西都在伪造您的域名。另一种方法是~all,指示相同的事情,但也指示邮件服务器应接受该消息并将其标记为伪造而不是完全拒绝它。-all使垃圾邮件发送者更难成功打造您的域名; 这是推荐的设置。~all由于使用了错误的邮件服务器来发送邮件,因此减少了电子邮件丢失的可能性。~all如果你不想冒险,可以使用。

标识符合条件的服务器之间的标记,从中可以发送到您的域的电子邮件。

  • mx是您域中MX记录中列出的所有主机的简写。如果你有一个单独的邮件服务器,mx可能是最好的选择。如果您有备份邮件服务器(第二个MX记录),使用mx不会导致任何问题。您的备份邮件服务器将被识别为电子邮件的授权来源,尽管它可能永远不会发送任何邮件。
  • a标签可以让你通过名称或IP地址来标识一个特定的主机,让你指定哪些主机授权。您可以使用,a如果您想阻止备份邮件服务器发送外发邮件,或者您想要识别您自己的邮件服务器以外的主机可以从您的域发送邮件(例如,将您的ISP的外发邮件服务器放在列表中,以便当你不得不通过它们发送邮件时,它们会得到认可。

现在,我们将坚持使用该mx版本。对于大多数基本配置,包括处理多个域的配置,它更简单,更正确。要添加记录,请转到DNS管理界面,并为您的域本身添加TXT类型的记录(即空白主机名),其中包含以下字符串:

v=spf1 mx -all

如果您使用的是Linode的DNS管理器,请转到所选域的域区域页面并添加新的TXT记录。一旦填写完毕,屏幕看起来就像这样:

如果您的DNS提供商允许(DNS管理器不允许),您还应该添加SPF类型的记录,以与TXT记录相同的方式填写它。

注意上面的DNS记录的值 - 以及本指南的其余部分 - 以Linode的DNS管理器需要它们的样式完成。如果您使用的是其他提供程序,则相应的系统可能需要不同样式的值。例如,freedns.afraid.org要求以BIND区域文件中找到的样式写入值。因此,上述SPF记录的值需要用双引号括起来:"v=spf1 mx -all"。您需要查阅DNS提供商的文档,了解所需的确切样式。

将SPF策略代理添加到Postfix

Python SPF策略代理将SPF策略检查添加到Postfix。将检查发件人域的传入邮件的SPF记录,如果存在,则将相应地处理邮件。Perl有自己的版本,但它缺乏Python策略代理的全部功能。

  1. 如果您使用SpamAssassin过滤垃圾邮件,则可能需要进行编辑/etc/postfix-policyd-spf-python/policyd-spf.conf以将更改HELO_rejectMail_From_reject设置更改为False。此编辑将导致SPF策略代理运行其测试并添加包含结果的消息头,同时拒绝任何消息。如果要查看检查结果但实际上不将它们应用于邮件处理,您可能还希望进行此更改。否则,只需使用标准设置即可。
  2. 编辑/etc/postfix/master.cf并在末尾添加以下条目: /etc/postfix/master.cf1 2 policyd-spf unix - n n - 0 spawn user=policyd-spf argv=/usr/bin/policyd-spf
  3. 打开/etc/postfix/main.cf并添加此条目以增加Postfix策略代理超时,这将阻止Postfix在事务运行缓慢时中止代理: /etc/postfix/main.cf中1 policyd-spf_time_limit = 3600
  4. 编辑smtpd_recipient_restrictions条目以添加check_policy_service条目: /etc/postfix/main.cf中1 2 3 4 5 smtpd_recipient_restrictions = ... reject_unauth_destination, check_policy_service unix:private/policyd-spf, ...确保添加的check_policy_service条目reject_unauth_destination条目,以避免您的系统成为一个开放的中继。如果reject_unauth_destination是限制列表中的最后一项,请在其后面添加逗号,并省略check_policy_service上面项目末尾的逗号。
  5. 重启后缀:

systemctl restart postfix

您可以通过查看SPF结果标头的传入电子邮件的原始标头来检查策略代理的操作。策略代理添加到消息的标头应如下所示:

Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=127.0.0.1; helo=mail.example.com; envelope-from=text@example.com; receiver=tknarr@silverglass.org

此标头表示成功检查发送域的SPF策略。如果您将步骤1中的策略代理设置更改为不拒绝未通过SPF检查的邮件,则可能会在此标头中看到“失败”结果。您不会在传出或本地邮件上看到此标头。

SPF策略代理也会记录到/var/log/mail.log。在mail.log文件中,您将从策略代理中看到这样的消息:

Jan  7 06:24:44 arachnae policyd-spf[21065]: None; identity=helo; client-ip=127.0.0.1; helo=mail.example.com; envelope-from=test@example.com; receiver=tknarr@silverglass.org
Jan  7 06:24:44 arachnae policyd-spf[21065]: Pass; identity=mailfrom; client-ip=127.0.0.1; helo=mail.example.com; envelope-from=test@example.com; receiver=tknarr@silverglass.org

第一条消息是HELO命令的检查,在这种情况下,表明没有任何与HELO匹配的SPF信息(完全没问题)。第二条消息是对信封发件人地址的检查,并指示通过检查的地址,并且来自发件人的域所说的应该为该域发送邮件的其中一个外发邮件服务器。冒号后的第一个字段中可能还有其他状态指示失败,临时或永久错误等。

设置DKIM

DKIM涉及设置OpenDKIM包,将其挂钩到Postfix,以及添加DNS记录。

配置OpenDKIM

  1. 主要的OpenDKIM配置文件/etc/opendkim.conf需要如下所示: /etc/opendkim.conf 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38This is a basic configuration that can easily be adapted to suit a standard # installation. For more advanced options, see opendkim.conf(5) and/or # /usr/share/doc/opendkim/examples/opendkim.conf.sample. # Log to syslog Syslog yes # Required to use local socket with MTAs that access the socket as a non- # privileged user (e.g. Postfix) UMask 002 # OpenDKIM user # Remember to add user postfix to group opendkim UserID opendkim # Map domains in From addresses to keys used to sign messages KeyTable /etc/opendkim/key.table SigningTable refile:/etc/opendkim/signing.table # Hosts to ignore when verifying signatures ExternalIgnoreList /etc/opendkim/trusted.hosts InternalHosts /etc/opendkim/trusted.hosts # Commonly-used options; the commented-out versions show the defaults. Canonicalization relaxed/simple Mode sv SubDomains no #ADSPAction continue AutoRestart yes AutoRestartRate 10/1M Background yes DNSTimeout 5 SignatureAlgorithm rsa-sha256 # Always oversign From (sign using actual From and a null From to prevent # malicious signatures header fields (From and/or others) between the signer # and the verifier. From is oversigned by default in the Debian package # because it is often the identity key used by reputation systems and thus # somewhat security sensitive. OversignHeaders From/etc/opendkim.conf使用上面的内容编辑和替换它的内容,或者下载opendkim.conf的副本,将其上传到您的服务器并将其复制/etc/opendkim.conf
  2. 确保正确设置了文件权限:

chmod u=rw,go=r /etc/opendkim.conf

3.创建目录以保存OpenDKIM的数据文件,为opendkim用户分配所有权,并限制文件权限:

mkdir /etc/opendkim mkdir /etc/opendkim/keys chown -R opendkim:opendkim /etc/opendkim chmod go-rw /etc/opendkim/keys

4.创建签名表/etc/opendkim/signing.table。它需要为您处理电子邮件的每个域都有一行。每行应如下所示: /etc/opendkim/signing.table1 *@example.com example替换example.com为您的域名并example使用域名的简称。第一个字段是匹配电子邮件地址的模式。第二个字段是密钥表条目的名称,应该用于对来自该地址的邮件进行签名。为简单起见,我们将为域中的所有地址设置一个密钥。

5.创建密钥表/etc/opendkim/key.table。它需要在签名表中为每个短域名提供一行。每行应如下所示: /etc/opendkim/key.table1 example example.com:YYYYMM:/etc/opendkim/keys/example.private替换exampleexample您在签名表中用于域的值(确保在末尾捕获第二个匹配项,然后跟随它.private)。替换example.com为您的域名,并将其替换为YYYYMM当前的4位数年份和2位数月份(这称为选择器)。第一个字段连接签名表和密钥表。 第二个字段分为3个以冒号分隔的部分。

- 第一部分是使用密钥的域名。
- 第二部分是在DNS中查找关键记录时使用的选择器。
- 第三部分命名包含域签名密钥的文件。

注意DKIM查找的流程从发件人的地址开始。扫描签名表,直到找到其模式(第一项)与地址匹配的条目。然后,第二个项的值用于定位将使用其密钥信息的密钥表中的条目。对于传入邮件,域和选择器然后用于在DNS中查找公钥TXT记录,并且该公钥用于验证签名。对于外发邮件,将从指定文件中读取私钥,并用于在邮件上生成签名。

6.创建可信主机文件/etc/opendkim/trusted.hosts。其内容需要是: /etc/opendkim/trusted.hosts1 2 3 4 5 6 127.0.0.1 ::1 localhost myhostname myhostname.example.com example.com创建文件时,请更改myhostname为服务器名称并替换example.com为您自己的域名。我们正在识别用户将通过邮件提交的主机,并且应该签署外发邮件,基本配置将是您自己的邮件服务器。

7.通过运行以下命令,确保所有权和权限/etc/opendkim及其内容正确(opendkim应该拥有所有内容,keys目录应该只能由所有者访问):

chown -R opendkim:opendkim /etc/opendkim chmod -R go-rwx /etc/opendkim/keys

8.为每个域生成密钥:

opendkim-genkey -b 2048 -h rsa-sha256 -r -s YYYYMM -d example.com -v

替换YYYYMM为密钥表中的当前年份和月份。这将为您提供两个文件,YYYYMM.private其中包含密钥并YYYYMM.txt包含您设置DNS所需的TXT记录。重命名文件,使它们的名称与域的密钥表的第二个字段的第三个部分相匹配:

mv YYYYMM.private example.private mv YYYYMM.txt example.txt

对于密钥表中的每个条目,在此步骤中重复这些命令。它-b 2048指示用于签名和验证的RSA密钥对中的位数。1024位是最小的,但使用现代硬件2048位更安全。(在某些时候可能需要4096位。)

9.通过运行以下命令,确保所有权,权限和内容正确无误:

cd /etc chown -R opendkim:opendkim /etc/opendkim chmod -R go-rw /etc/opendkim/keys

10.检查OpenDKIM是否正确启动:

systemctl restart opendkim

您不应该收到错误消息,但如果您这样做,请使用:

systemctl status -l opendkim

获取状态和未截断的错误消息。

设置DNS

与SPF一样,DKIM使用TXT记录来保存有关每个域的签名密钥的信息。如上所述使用YYYYMM,您需要为YYYYMM._domainkey您处理邮件的每个域为主机创建TXT记录。它的值可以example.txt在域的文件中找到。这些文件看起来像这样:

example.txt文件

1 2 3

201510._domainkey IN TXT ( "**v=DKIM1; h=rsa-sha256; k=rsa; s=email; " "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu5oIUrFDWZK7F4thFxpZa2or6jBEX3cSL6b2TJdPkO5iNn9vHNXhNX31nOefN8FksX94YbLJ8NHcFPbaZTW8R2HthYxRaCyqodxlLHibg8aHdfa+bxKeiI/xABRuAM0WG0JEDSyakMFqIO40ghj/h7DUc/4OXNdeQhrKDTlgf2bd+FjpJ3bNAFcMYa3Oeju33b2Tp+PdtqIwXR" "ZksfuXh7m30kuyavp3Uaso145DRBaJZA55lNxmHWMgMjO+YjNeuR6j4oQqyGwzPaVcSdOG8Js2mXt+J3Hr+nNmJGxZUUW4Uw5ws08wT9opRgSpn+ThX2d1AgQePpGrWOamC3PdcwIDAQAB**" ) ; ----- DKIM key 201510 for example.com

括号内的值是您想要的。选择并复制整个区域(但不包括)v=DKIM1双引号,然后在结束括号前的最终双引号之前(但不包括)。然后编辑复制文本中的双引号和它们之间的空格。也h=rsa-sha256改为h=sha256。从上面的文件中得到的结果是:

例如-copied.txt

1

v=DKIM1; h=sha256; k=rsa; s=email; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu5oIUrFDWZK7F4thFxpZa2or6jBEX3cSL6b2TJdPkO5iNn9vHNXhNX31nOefN8FksX94YbLJ8NHcFPbaZTW8R2HthYxRaCyqodxlLHibg8aHdfa+bxKeiI/xABRuAM0WG0JEDSyakMFqIO40ghj/h7DUc/4OXNdeQhrKDTlgf2bd+FjpJ3bNAFcMYa3Oeju33b2Tp+PdtqIwXRZksfuXh7m30kuyavp3Uaso145DRBaJZA55lNxmHWMgMjO+YjNeuR6j4oQqyGwzPaVcSdOG8Js2mXt+J3Hr+nNmJGxZUUW4Uw5ws08wT9opRgSpn+ThX2d1AgQePpGrWOamC3PdcwIDAQAB

将其粘贴到TXT记录的值中。

如果你正在使用Linode的DNS管理器,那么当你填写它时,这就是添加TXT记录屏幕的样子:

使用该.txt域的文件对您处理邮件的每个域重复此操作。

测试配置

使用以下opendkim-testkey命令测试密钥以进行正确的签名和验证:

opendkim-testkey -d example.com -s YYYYMM

如果一切正常,你不应该得到任何输出。如果要查看更多信息,请添加-vvv到命令的末尾。这会产生详细的调试输出。最后一条消息应该是“key OK”。就在此之前,您可能会看到“密钥不安全”消息。这是正常的,并不表示错误,它只是意味着您的域尚未设置为DNSSEC。

将OpenDKIM挂钩到Postfix

  1. 在Postfix的工作区中创建OpenDKIM套接字目录,并确保它具有正确的所有权:

mkdir /var/spool/postfix/opendkim chown opendkim:postfix /var/spool/postfix/opendkim

2. 在OpenDKIM默认文件中为Postfix设置正确的套接字/etc/default/opendkim: 在/ etc /默认/ opendkim 1 2 3 4 5 6 7 8 9 10Command-line options specified here will override the contents of # /etc/opendkim.conf. See opendkim(8) for a complete list of options. #DAEMON_OPTS="" # # Uncomment to specify an alternate socket # Note that setting this will override any Socket value in opendkim.conf SOCKET="local:/var/spool/postfix/opendkim/opendkim.sock" #SOCKET="inet:54321" # listen on all interfaces on port 54321 #SOCKET="inet:12345@localhost" # listen on loopback on port 12345 #SOCKET="inet:12345@192.0.2.1" # listen on 192.0.2.1 on port 12345

取消注释第一个SOCKET行并对其进行编辑,使其与上述文件中的未注释行匹配。套接字的路径与默认路径不同,因为在Debian 8上,处理邮件的Postfix进程在chroot jail中运行并且无法访问正常位置。

3.编辑/etc/postfix/main.cf并添加一个部分以通过OpenDKIM守护程序激活电子邮件处理: /etc/postfix/main.cf中1 2 3 4 5 6 7

#Milter configuration # OpenDKIM milter_default_action = accept # Postfix ≥ 2.6 milter_protocol = 6, Postfix ≤ 2.5 milter_protocol = 2 milter_protocol = 6 smtpd_milters = local:/opendkim/opendkim.sock non_smtpd_milters = local:/opendkim/opendkim.sock

你可以把它放在文件的任何地方。通常的做法是在smtpd_recipient_restrictions入境后提出。您会注意到套接字的路径与文件中的路径不同/etc/defaults/opendkim。这是因为Postfix的chroot jail,这里的路径是文件系统的受限视图内的路径,而不是实际的文件系统。

4.重新启动OpenDKIM守护程序,以便为Postfix设置正确的套接字:

systemctl restart opendkim

5.重新启动Postfix,以便在处理邮件时开始使用OpenDKIM:

systemctl restart postfix

验证所有内容是否完全正常运行

验证一切正常的最简单方法是check-auth@verifier.port25.com使用配置为将邮件提交到邮件服务器上的提交端口的电子邮件客户端发送测试电子邮件。它将分析您的消息并向您发送一份报告,指出您的电子邮件是否已正确签名。它还报告了许多其他内容,例如您的域的SPF配置和SpamAssassin标记。如果出现问题,它会报告问题所在。

可选:设置作者域签名实践(ADSP)

作为最终项目,您可以向您的域添加ADSP策略,说明您域中的所有电子邮件都应该是DKIM签名的。像往常一样,它是通过_adsp._domainkey您域中主机的TXT记录完成的,其值为dkim=all。如果您使用的是Linode的DNS管理器,则新文本记录的屏幕将如下所示:

您无需进行此设置,但这样做会使任何人更难从您的域中伪造电子邮件,因为收件人邮件服务器将看到缺少DKIM签名并拒绝该邮件。

可选:设置域消息身份验证,报告和一致性(DMARC)

可以添加DMARC DNS记录,以便向邮件服务器建议您认为应该使用声称来自您的域的未通过SPF和/或DKIM验证的电子邮件。DMARC还允许您请求有关未通过一次或多次验证检查的邮件的报告。只有在SPF和DKIM设置并成功运行的情况下才应设置DMARC。如果您添加DMARC DNS记录而不同时使用SPF和DKIM,则来自您的域的邮件将无法通过验证,这可能导致它们被丢弃或降级为垃圾邮件文件夹。

DMARC记录是_dmarc您域中主机的TXT记录,包含以下建议值:

v=DMARC1;p=quarantine;sp=quarantine;adkim=r;aspf=r

这要求邮件服务器隔离(不丢弃,但与常规邮件分开)任何未通过SPF或DKIM检查的电子邮件。不要求报告。很少有邮件服务器实现该软件来生成失败消息的报告,因此通常不需要请求它们。如果您确实希望请求报告,则该值与此示例类似,添加为单个字符串:

v=DMARC1;p=quarantine;sp=quarantine;adkim=r;aspf=r;fo=1;rf=afrf;rua=mailto:user@example.com

更换user@example.commailto:网址与自己的电子邮件,或者你自己的专用接收报告(地址,如电子邮件地址dmarc@example.com)。这会以XML格式请求聚合报告,显示传递和失败结果的每个组合以及发送它们的邮件服务器地址的消息数量。如果您使用的是Linode的DNS管理器,则新文本记录的屏幕将如下所示:

DMARC记录有许多可用的标签和选项。这些标记用于控制您的身份验证设置:

  • v在这种情况下,指定协议版本DMARC1
  • p 确定根域的策略,例如“example.com”。可用选项:
    • quarantine 指示如果电子邮件验证失败,收件人应将其放在一边进行处理。
    • reject 请求接收邮件服务器拒绝验证失败的电子邮件。
    • none 如果电子邮件未通过验证,则请求接收方不采取任何措施。
  • sp确定子域的策略,例如“subdomain.example.com”。它采用与p标记相同的参数。
  • adkim指定DKIM的对齐模式,它确定DKIM记录的验证严格程度。可用选项包括:
    • r 轻松对齐模式,DKIM身份验证不太严格执行。
    • s严格的对齐模式。只有与根域的DKIM条目完全匹配才会被视为已验证。
  • aspf确定SPF验证的对齐模式。它采用相同的论点adkim

如果您希望收到身份验证失败报告,DMARC会提供许多配置选项。您可以使用以下标记自定义报告的格式以及报告创建的条件。

  • rua指定将接收汇总报告的电子邮件地址。这使用mailto:user@example.com语法,并接受以逗号分隔的多个地址。汇总报告通常每天生成一次。
  • ruf指定将接收详细身份验证失败报告的电子邮件地址。这与...相同rua。使用此选项,每次身份验证失败都会生成单独的报告。
  • fo允许您指定将报告哪些失败的身份验证方法。可以使用以下一个或多个选项:
    • 0如果所有身份验证方法都失败,将请求报告。例如,如果SPF检查失败但DKIM身份验证成功,则不会发送报告。
    • 1如果任何身份验证检查失败,请求报告。
    • d 如果DKIM检查失败,则请求报告。
    • s 如果SPF检查失败,则请求报告。
  • rf确定用于身份验证失败报告的格式。可用选项:
    • afrf使用RFC 5965定义的滥用报告格式。
    • iodef使用RFC 5070定义的事件对象描述Exchange格式。

密钥轮换

YYYYMM格式用于选择器的原因是最佳实践要求每隔一段时间更改DKIM签名密钥(建议每月一次,不超过每6个月一次)。要在不中断传输中的邮件的情况下执行此操作,请使用新选择器生成新密钥。过程是:

  1. 按照配置OpenDKIM的步骤8生成新密钥。在暂存目录中执行此操作,而不是直接在/etc/opendkim/keys。使用当前年份和月份作为YYYYMM选择器值,因此它与当前使用的选择器不同。
  2. 使用新生成的.txt文件将新密钥添加到DNS,如在DKIM 设置DNS部分中,使用主机名中的新YYYYMM选择器。请勿删除或更改现有的DKIM TXT记录。完成此操作后,使用以下命令验证新密钥数据(将example.com,example和YYYYMM替换为适当的值):

opendkim-testkey -d example.com -s YYYYMM -k example.private

-vvv如果需要它来诊断任何问题,请添加开关以获取调试输出。在继续之前纠正任何问题,当opendkim-testkey没有表明验证成功时将开始使用新的私钥文件和选择器将导致您的电子邮件出现问题,包括未收到邮件。

3.停止Postfix和OpenDKIM,systemctl stop postfix opendkim以便在更换密钥时不会处理邮件。

4.将新生成的.private文件复制到位,并通过从生成密钥文件的目录中运行这些命令,确保其所有权和权限正确:

cp *.private /etc/opendkim/keys/ chown opendkim:opendkim /etc/opendkim/keys/* chmod go-rw /etc/opendkim/keys/*

使用上述opendkim-testkey命令确保在继续之前传播新记录。

5.编辑/etc/opendkim/key.table旧YYYYMM值并将其更改为新选择器,以反映当前年份和月份。保存文件。

6.通过以下方式重新启动OpenDKIM和Postfix:

systemctl start opendkim systemctl start postfix

确保它们都没有任何错误地启动。

7.几周后,所有传输中的电子邮件都应该已经发送或退回,并且不再需要DNS中的旧DKIM密钥信息。删除YYYYMM._domainkey每个域中的旧TXT记录,只留下最新的(最近一年和一个月)。如果您忘记并将旧钥匙放在比预定时间更长的时间,请不要担心。没有安全问题。删除过时的记录更多的是保持整洁和整洁。

更多信息

有关此主题的其他信息,您可能需要参考以下资源。虽然提供这些是希望它们有用,但请注意,我们无法保证外部托管材料的准确性或及时性。

本文的版权归 番茄味 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Zachary46

Andriod Studio两种签名机制V1和V2的区别

Android Studio 2.2以上版本打包apk的时候,我们会发现多了个签名版本(v1、v2)选择,如下图红色方框所示

1123
来自专栏DannyHoo的专栏

苹果app上线流程

Command /usr/bin/codesign failed with exit code 1

5982
来自专栏QQ会员技术团队的专栏

HTTP/2探索第二篇——工具及应用

由于不同环境过于复杂,本文仅基于Mac OS和Linux来讲解工具及应用。 目录结构: HTTP/2环境搭建Step by step wireshark使用 f...

69410
来自专栏向治洪

iOS开发证书管理

最近,没啥事情,就逛逛论坛,研究一些新技术,偶尔导入github上一些开源的iOS项目学习学习别人的一些写法。不过有时间,在运行别人的项目的时候,总会报一些错误...

2199
来自专栏令仔很忙

C#——Web.config中的Integrated Security=SSPI

    之前在进行机房收费系统个人重构的时候,配置文件访问数据库,用的是这种方式,如:  

1242
来自专栏云计算教程系列

加固你的Roundcube服务器

Roundcube是一个Webmail客户端,具有强大的安全功能和来自其插件存储库的广泛自定义选项。本文介绍如何进一步保护基本的现有Roundcube安装。

2780
来自专栏娱乐心理测试

iOS ipa包进行重新签名安装好brew,先用brew安装ruby,然后用gem安装sigh。安装好后,就可以直接使用了

1784
来自专栏前端笔记

【HTTP2.0 协议】就“腾讯云 CDN 针对 HTTP 2.0全面公测”浅谈如何启用 HTTP 2.0协议?

HTTPS 是指超文本传输安全协议(Hypertext Transfer Protocol Secure),是一种在 HTTP 协议基础上进行传输加密的安全协...

5959
来自专栏V站

一张验证码引发对DOS的思考

他的目的就是为了让攻击目标网站或者在线服务失去相应,或者因为大量流量和IP一时间如洪水般涌入服务器,导致服务器拒绝服务,甚至宕机。

1542
来自专栏向治洪

iOS开发证书管理

最近,没啥事情,就逛逛论坛,研究一些新技术,偶尔导入github上一些开源的iOS项目学习学习别人的一些写法。不过有时间,在运行别人的项目的时候,总会报一些错误...

2818

扫码关注云+社区

领取腾讯云代金券