一、为什么要搭建邮件服务器?
私人邮件服务器有良好私密性、在注册阿猫阿狗论坛时不需要把自己常用的邮箱暴露出去 , 避免常用邮箱收到垃圾广告, 有了私人邮件服务器就可以创建N个邮箱账号用于不同场景.
二、前提准备
1、本文以群晖nas为基础 ,所以得有一台群晖(黑群或者白群),目前我的群晖版本是6.2.3
2、家庭宽带需要有公网ip地址(动态或者静态)
3、购买一个域名(不限域名服务商)
以上是搭建一个群晖nas邮件服务的必备条件,缺一不可
三、切入正题
1、打开群晖套件中心、搜索mail关键字
2、套件中心显示四个邮件相关套件
- Mail Station(Web邮箱管理工具) 和 Synology Mail Server(邮件服务) 配套
- Synology MailPlus(Web邮箱管理工具) 和 Synology MailPlus Server(邮件服务) 配套
两者的区别是Plus版的是面向企业用户的,安全性更强,不过只有5个免费账户, 多了要付费 . 一般家庭用户使用Synology Mail Server即可,如果你不需要web邮箱管理 Mail Station可以不用安装. 因为目前无论windows、mac、android、ios 系统都有自带的邮件客户端程序,所以我们只需要配置我们的邮箱账户就能使用了.
3、安装Synology Mail Server 后打开
需要修改两个地方 一个是SMTP 菜单下的主机名 改成你购买的域名的主域名,另一个是IMAP/POP3菜单下面的全部勾上
什么主域名:如你购买的域名是 lategege.com 那么lategege.com就是你的主域名,www.lategege.com.com、ppp.lategege.com这些都是你的二级域名
为什么填主域名:因为邮箱账号普遍使用主域名如 xxxxxxx@qq.com 后面@qq.com就是因为腾讯邮件服务的主机名使用了qq.com,如果腾讯在邮件服务中使用了gaga.qq.com. 那你的邮箱账号就是xxxxxx@gaga.qq.com了 显然长度增加了,书写和记忆就不便利了
记录SMTP中的端口25、465、587
为什么要勾选?
勾选后你才能使用邮件客户端配置实现客户端的接收、POP3、IMAP是两种不同的邮件接收协议,客户端配置的时候会选择其中一个配置,而SMTP邮件服务的唯一发送协议
邮件服务器内部分为两部分:
1、发送服务 (smtp协议)
2、接收服务 (pop3、imap协议)
以下描述了邮件发送接收的主要工作流程(假设两个邮箱都是同一个服务商)
A 邮箱地址发送一封邮件给B邮箱地址
- A邮箱客户端的smtp服务将这封邮件传递
- 邮件服务器的smtp服务处理并保存这封邮件到B名下
- B客户端通过pop3或者imap服务去服务器查找有没有新邮件
- 服务器的pop3或者imap服务告知B邮箱有新邮件并传给B邮箱
- B邮箱客户端接收到新邮件
服务端配置完成
3、进入域名商管理后台(这里以阿里云为例)
首先创建一条二级域名A 记录 指向你服务器的外网ip地址
然后创建一条主域名的MX记录 指向你刚创建的二级域名 (主域名的主机名默认是@ )
<
在域名解析过程中最重要的就是MX记录了,MX记录默认只能指向一个域名,但是理论上是可以支持指向ip的,不过很多域名商填写的时候必须填域名,当然MX记录实际上也能用A记录替代,在SMTP服务无法获取MX记录时,会去读取A记录,但是普遍做法就是MX指向一个域名,这么做的原因,很大一部分是企业的邮件服务器不止一台、外网ip不止一个,这种情况就可以采用多条MX指向多个域名并设定优先级,一台挂了不影响服务,这就是高可靠性,对于普通单台邮件服务器也有好处,你不必关心你的二级域名指向了哪台机器,二级域名指向变更时候,MX指向确不需要改变.另外定义一个二级域名host,可以很直观的看到该条记录是用于什么服务的如mail.lategege.com.com 一看就知道是邮件服务.大型企业的收和发定义了不同的二级域名,如smtp.qq.com 发送服务域名, imap.qq.com 接收服务域名,由于我们私人服务器收发都在一台服务器,所以不需要也没必要区分开来,使用一个mail.lategege.com已经足够了.邮件客户端配置也方便.
外网ip地址可以在家中一级路由器管理界面中的wan口信息或者访问ip138等网站获取.
4、端口映射
这里只针对群晖是在一级路由下的情况.如果存在二级路由,那需要层层映射
假设群晖内网ip地址192.168.1.100 路由器地址192.168.1.1
端口映射有两种方式,采用一种即可
- nat主机: 登陆路由器192.168.1.1管理界面 查找NAT主机功能 将群晖192.168.1.100地址填入即可,无需端口映射
- 虚拟主机 : 分别配置三条端口映射 192.168.1.100 需要映射的端口有刚才记录的25、465、587 还要映射 143(imap) 993(ssl/tls imap) 110(pop3) 995(ssl/tls pop3) 这些端口映射后 整个邮件服务器所有对外的通道就建立起来了
5、问题
一般家庭宽带很少会分配静态公网ip 都是动态公网ip ,那这里就得采用 ddns服务
通过ddns来实现动态域名解析的方式有很多种, 以下三种方式使用任意一种
想要详细了解DDNS工作原理的可以看这篇文章 egege.com/?p=137
- 可以使用带有ddns功能的路由器实现,看你路由器支持哪些ddns服务商 就去那些ddns服务商那里注册域名 然后在第三步的MX记录修改成你在那个域名服务上的域名地址 ,tplink的路由会方便一下 你只要填写一个主机名就给你分配一个二级域名如 xxxx.tpddns.cn 你在MX记录指向这个域名即可,另外配置客户端的时候接收、发送服务也需要改用这个域名
- 群晖控制面板—>外部访问中也有ddns配置 支持的ddns服务商还是挺多了,和上一步操作一致即可
- 针对已经在域名商那边买了域名的情况,如阿里的域名,那可以利用群晖的docker套件, 开启一个docker容器,容器名为chenhw2-aliyun-ddns-cli. 修改环境AKID、AKSCT可以在你阿里云控制台获取 DOMAIN 填入 mail.lategege.com 然后启动容器即可 容器设置为开机启动,不同域名商的ddns服务可以去找找相对应的docker容器
<
6、配置客户端
由于不同系统配置有差异,所以这里提供配置所需要的参数
假设群晖的登录名为admin 你的域名为lategege.com 那邮件账户为admin@lategege.com
密码是你群晖admin的密码
发送邮件服务器、接收邮件服务器 均为 mail.lategege.com 接收协议pop、imap均可
我擦。家宽不封禁25端口嘛?