优化自建邮箱的发件验证

一年前,我使用Mail Plus Server自建了邮箱,但是问题连连。今天再修复一次。

用了1年左右了,说实话自建邮箱的意义不大,这是我最后一次修这邮箱了,如果再出问题,就重新用outlook。

今天看了一眼notice@mb6.top的发件记录,发现有很多的退信通知,主要是两种: outlook屏蔽和gmail屏蔽。

满屏幕的退信通知
满屏幕的退信通知

outlook的退信消息是这样的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
This is the mail system at host mail.mb6.top.

I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.

For further assistance, please send mail to postmaster.

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

                   The mail system

<xinjiawei@outlook.com>: host
    outlook-com.olc.protection.outlook.com[104.47.73.161] said: 550 5.7.1
    Service unavailable, Client host &#91;123.180.145.226] blocked using <strong>Spamhaus</strong>.
    To request removal from this list see
    <strong>https://www.spamhaus.org/query/ip/123.180.145.226</strong> (AS3130).
    &#91;MW2NAM04FT009.eop-NAM04.prod.protection.outlook.com] (in reply to MAIL
    FROM command)

总结一句话,就是我的ip不在Spamhaus可信的列表里,所以被屏蔽了。那么Spamhaus是个啥?

看看百度百科的介绍:spamhaus,它是一个国际性非营利组织,其主要任务是跟踪国际互联网的垃圾邮件团伙,实时黑名单技术 ,协助执法机构辨别,追查全世界的垃圾邮件,并游说各国政府制订有效的反垃圾邮件法案。

原来是个邮件ip黑名单系统,那么我还有办法洗白吗?当然有,在退信消息里有一段地址

https://www.spamhaus.org/query/ip/123.180.158.145

点进去在页面最下方的就能申请解除。记得申请邮箱一定要填写邮件服务器的管理员邮箱。

那么为啥我的ip会在黑名单里呢?

由于我使用的是民用的动态ip,ISP会向Spamhaus提交一个不适合当邮件服务器的ip列表,Spamhaus会根据这个列表不经审查直接拉黑掉。并且,同一个ip不能频繁的申请,否则会把ip彻底拉黑。这一点对动态ip用户不太友好。

gmail的退信消息是这样的

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
38
39
40
41
42
43
44
45
46
&lt;?xml version="1.0" encoding="UTF-8" ?&gt;
&lt;feedback&gt;
  &lt;report_metadata&gt;
    &lt;org_name&gt;google.com&lt;/org_name&gt;
    &lt;email&gt;noreply-dmarc-support@google.com&lt;/email&gt;
    &lt;extra_contact_info&gt;https://support.google.com/a/answer/2466580&lt;/extra_contact_info&gt;
    &lt;report_id&gt;13467600768161737146&lt;/report_id&gt;
    &lt;date_range&gt;
      &lt;begin&gt;1635379200&lt;/begin&gt;
      &lt;end&gt;1635465599&lt;/end&gt;
    &lt;/date_range&gt;
  &lt;/report_metadata&gt;
  &lt;policy_published&gt;
    &lt;domain&gt;mb6.top&lt;/domain&gt;
    &lt;adkim&gt;r&lt;/adkim&gt;
    &lt;aspf&gt;r&lt;/aspf&gt;
    &lt;p&gt;reject&lt;/p&gt;
    &lt;sp&gt;reject&lt;/sp&gt;
    &lt;pct&gt;100&lt;/pct&gt;
  &lt;/policy_published&gt;
  &lt;record&gt;
    &lt;row&gt;
      &lt;source_ip&gt;123.180.145.139&lt;/source_ip&gt;
      &lt;count&gt;3&lt;/count&gt;
      &lt;policy_evaluated&gt;
        &lt;disposition&gt;none&lt;/disposition&gt;
        <strong>&lt;dkim&gt;fail&lt;/dkim&gt;</strong>
        <strong>&lt;spf&gt;pass&lt;/spf&gt;</strong>
      &lt;/policy_evaluated&gt;
    &lt;/row&gt;
    &lt;identifiers&gt;
      &lt;header_from&gt;mb6.top&lt;/header_from&gt;
    &lt;/identifiers&gt;
    &lt;auth_results&gt;
      <strong>&lt;dkim&gt;
        &lt;domain&gt;mb6.top&lt;/domain&gt;
        &lt;result&gt;fail&lt;/result&gt;
        &lt;selector&gt;dkim1&lt;/selector&gt;
      &lt;/dkim&gt;
      &lt;spf&gt;
        &lt;domain&gt;mb6.top&lt;/domain&gt;
        &lt;result&gt;pass&lt;/result&gt;
      &lt;/spf&gt;</strong>
    &lt;/auth_results&gt;
  &lt;/record&gt;
&lt;/feedback&gt;

可以看到,spf的验证通过,但是dkim的验证不通过。关于spf和dkim的概念可以在以下网址里得到。

http://blog.sina.com.cn/s/blog_bf73626a0102yjrb.html

在最开始自建邮箱时,按照教程照猫画虎设置了spf,dkim等,但是很明显教程的dkim教程是错误的。

使用 https://www.mail-tester.com/ 在线测试邮箱的垃圾邮件匹配度。这个网站可以测试邮箱服务器的外发服务区是否正确。

这是我最初的检查结果

dkim签名无效
dkim签名无效

查询群晖知识库,对比发现txt记录的值和官方给的值不太一样,按照官方的设置一遍。

https://kb.synology.com/en-ph/DSM/help/MailPlus-Server/mailplus_server_multiple_domains?version=6#:~:text=save%20the%20settings.-,Add%20and,-update%20the%20public

1
2
3
4
5
6
7
8
 The TXT record should be added as follows:
Type: TXT
TXT record name: DKIM selector prefix._domainkey.your domain
Note: DKIM selector prefix is the prefix you entered above, and your domain is your actual domain name.
Example: <em>123._domainkey.example.com</em>
TXT record value: v=DKIM1; k=rsa; p=DKIM public key
Note: DKIM public key is the key you generated in the above step.
Example: <em>v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQE...</em>

再测试一下

dkim通过测试
dkim通过测试

现在的分数

dkim修复之后的分数
dkim修复之后的分数

用qq邮箱测试一下,看看qq邮箱能得积分,居然才5.2分,看着这测试平台也就那样。

qq邮箱的分数
qq邮箱的分数

不过也有可能国内邮箱做的松,毕竟国内邮箱用的少一点。

给outlook和gmail发邮件试试,看看好了吗gmail成功接收到

gmail成功接收
gmail成功接收到
outlook归到垃圾邮件
outlook归到垃圾邮件了(#暴怒)

outlook生效需要时间,但是gmail好了,还行。只能说非营利组织都挺炒蛋。

  1. 曜辉说道:

    用中继服务器吧,能稳定点,我这边很多给企业发邮件的需求,我发现国内大厂的邮箱系统比(比如QQ,163)一般这些DKIM设置好了,问题都不大,像国际的(GMAIL,outlook)这些,不用中继基本都退信,用上中继就稳定不少,像对方本身就是自建邮箱(我这边客户主要是长春一汽的这些企业,他们自己的自建邮箱),不加白名单的情况下,不用中继大概率怎么调整都是退信,用中继一半一半吧

    1. XINJIAWEI说道:

      感谢老哥指点哈,我这边只是听过邮箱中继服务,群晖的邮箱系统的确也有这个设置。
      等学习学习也试试搞一下😂

发表评论

您的电子邮箱地址不会被公开。

1 × 1 =