本文前言

搭建一个邮件服务器说简单简单,说不简单也不简单.

首先我们要买个vps,嗯,至少1c1g.这样的VPS在国外大厂均价是5$左右.

然后我们要买个域名,假设是icn1.cn.

现在我们准备把(www.)icn1.cn的网站内容放到1.1.1.1.

我们准备把@icn1.cn邮件服务器放置到另一个vps比如1.1.1.111.

那么我们现在开始操作吧.(一般邮件服务器和网站不会在同一服务器上.当然如果”庙小”的话,放在1个服务器上未尝不可)

说明:以下dns(正向)解析都在域名注册商处或你的域名解析服务商处解析.

本文所需前置知识和操作

  • 会购买VPS及操作VPS厂家web面板
  • 会安装linux如centos7
  • 会设置dns解析
  • 会安装web面板例如宝塔,amh等面板
  • 会安装邮件服务器套件(有的web面板自带,有的是独立的邮件服务器套件,可参考本站相关文章)

dns解析:设置邮件服务器a记录或cname记录

设置a记录:mail.icn1.cn为1.1.1.111(邮件服务器安装在此服务器)

这个A记录操作的意思是告诉互联网来查询的机器,mail.icn1.cn的对应IP是1.1.1.111

如果邮件服务器和别的域名在同一IP上,例如mail.icn1.cn和icn1.cn在同一服务器上,则可以:

设置cname记录:mail.icn1.cn为icn1.cn

这个叫别名记录,告诉互联网上前来查询的机器,mail.icn1.cn的ip和icn1.cn的IP是一样的.

在服务器厂家处设置反向解析

正向解析是给域名设置IP.这样别的机器通过域名可查到服务器IP.例如通过刚才的设置,别的机器可以通过域名mail.icn1.cn查到ip为1.1.1.111

反向解析rdns是通过IP查询域名.如果我们在厂家设置了反向解析1.1.1.111为icn1.cn,别人就可以通过反向解析1.1.1.111查到域名icn1.cn.这个只能在服务器厂家处设置.

现在让我们在VPS厂家设置1.1.1.111的反向解析rdns为icn1.cn

?为什么需要设置ip的反向解析到域名

民用网络一般设置不了反向解析(ISP有权限给你设置,但是不可能给你设置滴.你的宽带连个静态公网IP都没有0.0)只有各大机房的服务器才能设置反向解析.事实上唯有IP的户主才有权力设置反向解析.

垃圾邮件发送者如果用民用网络发垃圾邮件,邮件服务器不可能反向解析;如果在机房有反向解析的邮件服务器上发垃圾邮件,一般会被负责任的服务器厂家封控.(当然有些很便宜很烂的服务器厂家啥都不管,用上这种vps纯属是群魔乱舞了感觉,但比较少见.)

因此国际反垃圾邮件组织和各大邮件服务器厂商(例如@gmail.com)都会拒收没有反向解析的IP发来的邮件,因为这相当于这个ip”没有根脚”,”没有身份证”,就很可疑,八成是个发垃圾邮件的.(所以在家用宽带上搭邮件服务器的只能玩玩,如果有公网IP和动态域名,可以保证收到信,发信了人家能不能收到只有天知道)

打个比方,正向解析是域名解析(找)到ip,相当于根据身份证找人.

反向解析是根据IP解析(找)到域名,相当于警察叔叔用人脸识别根据真人扫脸找到身份证,由此判断你的真实身份.

当然,有身份证的人也有可能犯罪;有反向解析的正当邮件服务器也有可能发垃圾邮件.并不是说有了反向解析就可以高枕无忧.这只是防垃圾邮件的手段之一.恰如有了身份证不能阻止犯罪,但可以通过证件确认你身份,方便抓你0.0

dns解析:设置MX邮件交换记录

设置MX记录:设置@(即当前域名icn1.cn)为mail.icn1.cn

这个叫邮件交换记录,意思是告诉互联网来查询的机器,@icn1.cn的邮局对应的IP是mail.icn1.cn的IP 1.1.1.111(上文设置过).这样别的邮件服务器发信时就能找到@icn1.cn邮件服务器.

dns解析:txt类型SPF记录

SPF(Sender Policy Framework) 是电子邮件系统中发送策略框架的缩写,它的内容写在DNS的txt类型的记录里面;作用是防止别人伪造你的邮件地址进行发信,是一种非常高效的反垃圾邮件解决方案。

SPF 的原理是使用电子邮件的头部信息中的 ‘Return Path’ 或 ‘Mail From’ 这两个邮件头里的域名来结合真正提供这个邮件的服务商 DNS 里面的记录去验证发送邮件服务器是否是冒充行为。

设置SPF记录:设置txt类型记录@(即指icn1.cn本身)为v=spf1 mx ~all

“v=spf1 mx -all” 表示允许所有该域的MX邮件服务器发送邮件,其他则禁止
“v=spf1 -all” 表示禁止该域发送任何邮件。
“v=spf1 +all” 表示允许任何服务器发送邮件(即任何服务器伪造该域发送邮件为合法)。

或者

设置spf记录:设置txt类型记录@(即指icn1.cn本身)为v=spf1 ip4:1.1.1.111 ~all

以上指定从1.1.1.111(我们的邮件服务器所在IP)发出的邮件通过验证(即别的IP发出的邮件均为伪造).实际设置时请管理员换成你自己的ip.

如果SPF记录有语法错误,则任何邮件均无法通过验证.可在此检测spf错误:https://dmarcly.com/tools/spf-record-checker?target=_blank

dns解析:txt类型DKIM记录

DKIM,电子邮件验证标准——域名密钥识别邮件标准。DomainKeys Identified Mail的缩写。

DKIM 的基本工作原理同样是基于传统的密钥认证方式,它会产生两组钥匙,公钥(public key)和私钥(private key),公钥将会存放在 DNS 中(可被任何机器公开查询到),而私钥会存放在寄信服务器中(私密的,其他任何服务器不可获知内容)。数字签名会自动产生,并依附在邮件头中,发送到寄信者的服务器里。公钥则放在DNS服务器上,供自动获得。收信的服务器,将会收到夹带在邮件头中的签名和在DNS上自己获取公钥,然后进行比对,比较寄信者的域名是否合法,如果不合法,则判定为垃圾邮件。

一般邮件服务器套件会自动生成dkim并把公钥即dkim记录显示给管理员,使得管理员可以据此在dns设置dkim记录.

如果邮件服务器没有给出dns的dkim记录,我们可以自行安装opendkim.产生私钥和公钥后需要整合修改到postfix中去.

centos7安装:

yum install -y opendkim

设置比较麻烦,此处给出相关文章设置参见:http://www.manongjc.com/detail/50-fmpogozfvlgxjyg.html

dns解析:txt类型_dmarc记录

DMARC(Domain-based Message Authentication, Reporting & Conformance)是txt记录中的一种,是一种基于现有的SPF和DKIM协议的可扩展电子邮件认证协议,其核心思想是邮件的发送方通过特定方式(DNS)公开表明自己会用到的发件服务器(SPF)、并对发出的邮件内容进行签名(DKIM),而邮件的接收方则检查收到的邮件是否来自发送方授权过的服务器并核对签名是否有效。对于未通过前述检查的邮件,接收方则按照发送方指定的策略进行处理,如直接投入垃圾箱或拒收。从而有效识别并拦截欺诈邮件和钓鱼邮件,保障用户个人信息安全。

DMARC 并没有规定具体的「验证措施」,而是基于 SPF 和 DKIM或二者之一。它规定,SPF 的 Return-Path 或者 DKIM 的 DKIM-Signature: d= 二者至少需有其一与 From 头对应,否则被判定为 fail。这个过程叫做 Identifier Alignment。同时,DMARC 还提供了大量的增强功能,比如指定那些 fail 的邮件是进入 Spam 还是直接拒收.

设置_dmarc记录:设置txt类型记录_dmarc为v=DMARC1; p=quarantine; pct=100

 p参数:用于告知收件方,当检测到某邮件发送方验证失败(SFP验证失败且DKIM验证失败),收件方要做出什么处理,reject为拒绝该邮件;none为不作任何处理;quarantine为将邮件标记为垃圾邮件。
    建议:p值最优设置方式是第一次设置选择none,观察发信情况一个月,再改为quarantine,再观察一个月,最后再设为reject。

pct参数:百分比.

以上设置意为100%(pct参数)的将伪造发件人的信件标为垃圾邮件(quarantine参数)

以下再给出一个记录示例:v=DMARC1; p=reject; pct=80; rua=mailto:[email protected]

以上设置意为将80%(pct参数)的未通过dmarc验证的信件拒收(p=reject),并将结果反馈发送到指定邮箱[email protected]中去.

安装邮件服务器

好了现在相关的dns设置好了.我们可以安装邮件服务器了

通过web面板安装

常用的web面板通常都自带邮件服务器套件,例如宝塔,amh等.可视化的操作很方便,不再赘述.

通过独立邮件服务器套件安装

通常要求刚安装好的linux系统,进行一键安装,本站文章略有涉及,可搜索查阅.

后记

通常一些面板或邮件服务器套件会把这些和邮件相关的dns解析记录显示给管理员,我们按图索骥设置dns即可.

但是一些面板或邮件服务器套件并没有把这些相关的dns解析记录罗列出来.这就很要命!因为不做好相关dns设置,你的邮件服务器发出的邮件会被大多数邮件服务器拒收.因此写了本文供大家参考.

ps本文并不能让你高枕无忧,有可能在做好以上设置之后发信还会进入他人的垃圾箱–其实这很好,进入垃圾箱比完全拒收强百倍!至于为什么进垃圾箱,有可能是你的域名或ip被国际反垃圾邮件组织标记进黑名单了,也可能是你没有给邮件服务器的ip做反向解析.这里在可以查询:[服务器]邮件服务器黑名单检测网

附录或参考

  • SPF记录语法格式:https://dmarcian.com/spf-syntax-table/

作者 申佳明

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Captcha Code