如何搭建自己的域名邮箱服务器?Poste.io邮箱服务器搭建教程,Linux+Docker搭建邮件服务器的教程

Linux系统+Docker搭建Poste.io电子邮件服务器,搭建属于自己的域名邮箱服务器,可以无限收发电子邮件(Email)!

视频教程:https://www.bilibili.com/video/BV11p1mYaEpM/

前言

什么是域名邮箱?

域名邮箱是指使用自己的域名作为邮箱地址的电子邮件服务。这种形式的邮箱(例如,admin@zeruns.tech)不仅增强了个人或企业的品牌识别度,而且传递出更为专业和正式的形象。相比于常见的免费邮箱服务,域名邮箱提供了更多定制化选项和安全特性,非常适合商业环境。

Poste.io简介

Poste.io 是一个开源的电子邮件服务器解决方案,它提供了一个简单而强大的邮件服务器环境,适用于个人用户、小型企业或组织。Poste.io 的目标是提供易于安装、配置和管理的电子邮件解决方案,并且尽可能减少复杂性。

以下是 Poste.io 的一些主要特点和功能:

  • 易于安装和配置:Poste.io 提供了一个简化的安装和配置过程,使用户能够快速设置和启动邮件服务器。
  • Web 用户界面:它提供了一个直观的 Web 用户界面,使用户能够轻松管理邮件服务器、创建和管理邮箱账户、设置域名等。
  • 邮箱功能:Poste.io 支持标准的电子邮件功能,包括收发邮件、邮件夹管理、邮件搜索、自动转发、自动回复等。
  • 安全性:Poste.io 使用各种安全措施来保护你的电子邮件和服务器,包括加密通信、防垃圾邮件过滤、反病毒扫描等。
  • 邮件过滤和规则:你可以设置邮件过滤器和规则,根据自定义条件自动处理邮件,例如将特定类型的邮件自动分类到特定文件夹。
  • 多域名支持:Poste.io 允许你管理多个域名和相关的邮箱账户,方便你为不同组织或团队创建和管理独立的邮箱。

站长交流群:767557452

域名注册

什么是域名?

域名可以通俗地理解为互联网上的"门牌号码"或"地址"。每个网站在互联网上都有一个唯一的地址,这个地址就是域名。比如,人们常常访问的"baidu.com","blog.zeruns.tech"等都是域名。它们由一串字符组成,通常包括字母、数字和连接符"-",并由"."分隔成几部分。域名的作用是让人们能够更容易地访问和记住网站,而不需要记住复杂的IP地址。同时,域名也具有一定的商业价值,可以作为企业或个人在互联网上的标识和品牌形象。

注册域名

可以去腾讯云阿里云雨云等平台注册域名,也可以使用雨云的免费二级域名。

下面以雨云的为例,注册一个zeruns.top的域名。

在云产品里找到域名服务。

点击域名注册,搜索你要注册的域名。

根据提示输入信息

填写完信息后点击立即注册,然后等待审核完成就行

如果你用的境内的服务器那还需要进行域名备案。

备案的流程就不细说,自己去了解一下就行。

温馨提示:购买3个月的腾讯云阿里云等大厂云服务器可以免费提供代备案服务,购买雨云的湖北宁波的云服务器也可以免费提供代备案服务。

准备

重要事项:要部署自己的邮箱服务器,请先确认服务器的25端口是开放的,入站出站都是OK的才行,目前国内部分服务器厂商或机房是封禁25端口的,可以提工单或找客服询问是否开放25端口或能否申请开放25端口!

这个邮箱服务器除了要用25端口外还需要80和443这些网页服务的端口,所以不能安装网页服务器软件,如果要同时存在就要docker设置端口映射将邮箱服务器的80和443端口映射到其他端口,然后用反向代理,设置比较复杂,所以不会的还是邮箱服务器单独一个服务器吧。

如果你使用的域名未备案的只能使用境外服务器,如果需要延迟相对低一点的可以选择中国香港

我这里推荐雨云湖北十堰云服务器,和皓量云擎宁波云服务器,这两个是我实测没有封25端口的。

下面教程我就用皓量云擎宁波云服务器来演示,首先注册个账号先:

皓量云擎优惠注册地址https://url.vpszj.cn/hly_csdn

邀请码:zeruns(走链接送首月5折和8折优惠券)

雨云优惠注册链接:https://url.vpszj.cn/rainyun_csdn

优惠码:zeruns(走链接送首月5折优惠券)

注册账号后点击 计算云服务器购买云服务器

区域选华东-宁波 ,配置一般选2核2G就够了(如果是公司企业之类的,邮件量和业务量大就建议选更高的配置,硬盘最好也要大点),系统镜像选Debian12 ,点击下一步

选择带宽,默认的5Mbps就够了(如果是公司企业之类的,邮件量和业务量大就建议选更高的带宽),继续点击下一步

这里可以设置服务器的密码,默认自动生成就行,继续点击下一步,然后确认并提交订单。

购买后即可在云服务器这里看到你买的云服务器,点击管理

接着就可以看到云服务器的信息了,在这里可以重装/切换系统、重置密码等,可以升级配置。

连接服务器

下载安装并打开ssh客户端软件,ssh客户端软件推荐putty或mobaxterm。

我这里用mobaxterm,在SSH客户端中输入你的服务器的IP地址,还有SSH端口,然后点击好的或者打开。

然后输入账号并按回车,账号一般默认为root,接着输入密码并按回车确定,输入密码时不会显示出来。

温馨提示:在SSH终端中按住鼠标左键选择文字,然后松开鼠标,再在空白处单击一下,这样就把选中的文字复制了;在SSH终端单击右键即为粘贴。

验证是否开放25端口

判断25端口可用方法是在服务器上执行: telnet smtp.qq.com 25

若输出是: Trying 43.129.255.54... telnet: connect to address 43.129.255.54: Connection timed out 则可以放弃部署邮局了。

若输出是以下内容,则证明该服务器25端口正常的,可以进行部署邮局。接着输入quit并回车退出。

shell 复制代码
Trying 183.47.101.192...
Connected to smtp.qq.com.
Escape character is '^]'.
220 newxmesmtplogicsvrszb16-1.qq.com XMail Esmtp QQ Mail Server.

这个邮箱服务器需要的端口有:25、80、443、110、143、465、587、993、995

大厂的服务器要记得都去服务器控制台的安全组/防火墙那里开放这些端口!

设置域名解析

按照以下内容配置即可。mail.vpszj.cn 替换成你自己的域名就可以

主机记录 记录类型 记录值
mail A 你服务器的IP地址
smtp CNAME mail.vpszj.cn
pop CNAME mail.vpszj.cn
imap CNAME mail.vpszj.cn
@ MX mail.vpszj.cn
@ TXT v=spf1 mx ~all

如下图所示:

安装Docker

回到ssh终端,输入下面的指令。

用apt包管理器来安装:

shell 复制代码
# 安装docker,如果遇到问是否继续的就输入y来确定 
apt install docker.io 

# 设置docker开机自启和启动docker 
systemctl enable docker && systemctl start docker 

# 检查是否安装成功,若安装成功会显示 Docker version x.x.x 
docker -v

若没安装成功就试试下面的安装脚本:

bash 复制代码
# 安装docker
curl -sSL https://get.daocloud.io/docker | sh

# 设置docker开机自启和启动docker
systemctl enable docker && systemctl start docker

# 检查是否安装成功,若安装成功会显示 Docker version x.x.x
docker -v

如果还是不行就尝试下面链接的手动安装教程吧

docker手动安装教程:https://url.zeruns.tech/YkABB

Docker换镜像源(如果下面的镜像源地址失效了就自行寻找新的)

bash 复制代码
# 创建或修改 /etc/docker/daemon.json 文件
apt install nano && nano /etc/docker/daemon.json

# 然后输入下面内容:(输入完后按Ctrl+O,然后回车保存,接着按Ctrl+X退出编辑器)
{
  "registry-mirrors": ["https://docker.1ms.run",
                       "https://dockerhub.icu",
                       "https://docker2.awsl9527.cn"
  ]
}

# 重启docker服务
systemctl restart docker.service

安装和配置Poste.io

本次部署poste.io,我们采用docker的方式。

在SSH终端里执行下面的命令:

命令中的/home/mail是邮箱系统的配置文件和数据存放目录路径,可以自行修改。

-h 后面的域名mail.vpszj.cn改成你自己要部署的域名

shell 复制代码
docker run -d \
   --net=host \
   -e TZ=Asia/Shanghai \
   -v /home/mail:/data \
   --name "mailserver" \
   -h "mail.vpszj.cn" \
   -t analogic/poste.io:latest

容器启动后,在浏览器地址栏输入 https://服务器IP/admin/install/server 或者是 https://你的域名/admin/install/server 进入配置页面。

在这个页面,我们输入你邮箱的域名,管理员邮箱地址,以及生成密码(也可以自己手动输入)后提交即可。切记记录一下邮箱的域名和管理员账户。

进入后台,找到System settingsTLS certificate ,点击issue free letsencrypt.org certificate进行申请SSL证书(申请SSL证书后浏览器地址栏会变小绿锁,不会显示不安全了)。

申请完后,我们前台再次访问邮箱域名。 我这里是mail.vpszj.cn

他会自动跳转到邮箱的登录页面。输入之前设置管理员账号和密码并登陆。

然后我们在Virtual domains点击域名,申请DKIM

申请完成后,需要按照页面提示更新DNS记录,新建一个TXT记录即可。

接下来我们测试发信。我们新建邮件,随便编辑一些内容我发给我的QQ邮箱,可以看到邮件该有的功能页面都有,挺齐全了。

QQ邮箱视角:收到了(如果你没找到,不妨试着看看垃圾箱~)

给这个邮局新增账号也很简单,只需要去后台的Email accounts这里,Create a new email即可。

测试QQ邮箱发邮件到我们搭建的域名邮箱,测试成功。

教程到此结束,如果觉得教程不错的请点个赞,谢谢!

推荐阅读

相关推荐
jerry-895 分钟前
CentOS 7安装SSHFS 实现远程主机目录 挂载为本地目录
linux·运维·centos
moxiaoran57537 分钟前
Centos使用docker搭建Graylog日志平台
docker·centos·graylog
Jtti1 小时前
Jtti:如何知晓服务器的压力上限?具体的步骤和方法
运维·服务器
命里有定数1 小时前
Ubuntu问题 - 显示ubuntu服务器上可用磁盘空间 一条命令df -h
服务器·ubuntu·数据集
TPBoreas1 小时前
当你项目服务器磁盘报警
运维·服务器
Labiod3 小时前
PlantUML 安装
linux·运维·服务器
命里有定数5 小时前
Ubuntu问题 -- 设置ubuntu的IP为静态IP (图形化界面设置) 小白友好
linux·tcp/ip·ubuntu·ip
荆棘鸟骑士5 小时前
Linux修改/etc/hosts不起作用(ping: xxx: Name or service not known)的解决方法——开启NSCD
linux
猫猫不是喵喵.6 小时前
【Linux】Linux入门实操——进程管理(重点)
linux·运维·服务器
Web极客码6 小时前
如何修复WordPress卡在维护模式
服务器·网络·github