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

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

视频教程:[https://www.bilibili.com/video/BV11p1mYaEpM/](https://www.bilibili.com/video/BV11p1mYaEpM/)

## 前言

### 什么是域名邮箱?

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

### Poste.io简介

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

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

    ## 域名注册

    **什么是域名?**

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

    **注册域名**

    可以去[腾讯云](https://curl.qcloud.com/dVdrdEIT)、[阿里云](https://www.aliyun.com/minisite/goods?userCode=jdjc69nf)和[雨云](https://www.rainyun.com/zeruns_?s=nodeloc)等平台注册域名。

  • - 腾讯云优惠注册地址(含AFF):https://curl.qcloud.com/rbDL8jYd
  • - 阿里云优惠注册地址(含AFF):[https://www.aliyun.com/minisite/goods?userCode=jdjc69nf](https://www.aliyun.com/minisite/goods?userCode=jdjc69nf)
  • - 雨云优惠注册地址(含AFF):[https://www.rainyun.com/zeruns_?s=nodeloc](https://www.rainyun.com/zeruns_?s=nodeloc)
  • 下面以雨云的为例,注册一个`zeruns.top`的域名。

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

    ![](https://tc2.zeruns.tech/2024/05/01/imagee866638c5bff13f9.png)

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

    ![](https://tc2.zeruns.tech/2024/05/01/2024-04-26_21-00-05.png)

    根据提示输入信息

    ![](https://tc2.zeruns.tech/2024/05/01/image.png)

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

    ![](https://tc2.zeruns.tech/2024/05/01/imaged87622db88792439.png)

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

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

    温馨提示:购买3个月的[腾讯云](https://curl.qcloud.com/dVdrdEIT)或[阿里云](https://www.aliyun.com/minisite/goods?userCode=jdjc69nf)等大厂云服务器可以免费提供代备案服务,购买雨云的[湖北](https://blog.vpszj.cn/archives/tag/湖北)或[宁波](https://blog.vpszj.cn/archives/tag/宁波)的云服务器也可以免费提供代备案服务。

    ## 准备

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

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

    如果你使用的域名未备案的只能使用境外服务器,如果需要延迟相对低一点的可以选择[中国香港](https://blog.vpszj.cn/archives/tag/香港)。

    我这里推荐[雨云](https://blog.vpszj.cn/archives/tag/雨云)的[湖北](https://blog.vpszj.cn/archives/tag/湖北)十堰云服务器,和[皓量云擎](https://blog.vpszj.cn/archives/tag/皓量云擎)的[宁波](https://blog.vpszj.cn/archives/tag/宁波)云服务器,这两个是我实测没有封25端口的。

  • - 雨云 湖北十堰 8272CL 高防高性能云服务器测评:https://blog.vpszj.cn/archives/2084.html
  • - **[北少云](https://blog.vpszj.cn/archives/tag/北少云/)** 河南 8272CL 云服务器性能测评:[https://blog.vpszj.cn/archives/2150.html](https://blog.vpszj.cn/archives/2150.html)
  • - [皓量云擎](https://blog.vpszj.cn/archives/tag/皓量云擎/) 宁波 E5-2667v4 云服务器性能测评:[https://blog.zeruns.tech/archives/821.html](https://blog.zeruns.tech/archives/821.html)
  • - [野草云](https://blog.vpszj.cn/archives/tag/野草云/) 香港BGP大带宽VPS测评:[https://blog.vpszj.cn/archives/2211.html](https://blog.vpszj.cn/archives/2211.html)
  • - 其他性价比高的服务器推荐:[https://blog.vpszj.cn/archives/41.html](https://blog.vpszj.cn/archives/41.html)
  • **下面教程我就用[皓量云擎](https://blog.vpszj.cn/archives/tag/皓量云擎)的[宁波](https://blog.vpszj.cn/archives/tag/宁波)云服务器来演示,首先注册个账号先:**

    **皓量云擎优惠注册地址(含AFF)**:www.haoliangyun.com/?aff=zeruns&source=nodeloc

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

    雨云优惠注册链接(含AFF):[https://www.rainyun.com/zeruns_?s=nodeloc](https://www.rainyun.com/zeruns_?s=nodeloc)

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

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

    ![](https://tc2.zeruns.tech/2024/10/03/image.png)

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

    ![](https://tc2.zeruns.tech/2024/10/03/image6e3b0cff8d321f4b.png)

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

    ![](https://tc2.zeruns.tech/2024/10/03/image459263b02910d3e2.png)

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

    ![](https://tc2.zeruns.tech/2024/10/03/imagee63a32d8e2d2569c.png)

    ![](https://tc2.zeruns.tech/2024/10/03/image6fd3d8ce2abefbd4.png)

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

    ![](https://tc2.zeruns.tech/2024/10/03/image227161a197a2c108.png)

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

    ## 连接服务器

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

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

    ![](https://tc2.zeruns.tech/2024/10/03/image0556be2f378ca5bc.png)

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

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

    ![](https://tc2.zeruns.tech/2024/10/03/image20cde2c6cec3240e.png)

    ## 验证是否开放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</s><i> </i>Trying 183.47.101.192... Connected to smtp.qq.com. Escape character is '^]'. 220 newxmesmtplogicsvrszb16-1.qq.com XMail Esmtp QQ Mail Server.<i> </i><e>

    ![](https://tc2.zeruns.tech/2024/10/03/imageb0609fdda2815e35.png)

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

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

    ## 设置域名解析

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

    | | | | | :------: | :------: | :--------------: || | | || | | || | | || | | || | | || | | |
    主机记录记录类型记录值
    mailA你服务器的IP地址
    smtpCNAMEmail.vpszj.cn
    popCNAMEmail.vpszj.cn
    imapCNAMEmail.vpszj.cn
    @MXmail.vpszj.cn
    @TXTv=spf1 mx \~all

    如下图所示:

    ![](https://tc2.zeruns.tech/2024/10/04/image.png)

    ## 安装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
    ```

    ![](https://tc2.zeruns.tech/2024/10/03/imagea4dd6a6d3fbc0181.png)

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

    ```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](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
    ```

    ![](https://tc2.zeruns.tech/2024/10/03/image84c3beb23515eb4b.png)

    ## 安装和配置Poste.io

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

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

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

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

    shell</s><i> </i>docker run -d \ --net=host \ -e TZ=Asia/Shanghai \ -v /home/mail:/data \ --name "mailserver" \ -h "mail.vpszj.cn" \ -t analogic/poste.io:latest<i> </i><e>

    ![](https://tc2.zeruns.tech/2024/10/04/image16ac77a5bd2c307b.png)

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

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

    ![](https://tc2.zeruns.tech/2024/10/04/imagee79ed7649b0322b7.png)

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

    ![](https://tc2.zeruns.tech/2024/10/04/imageab52708f675f5a27.png)

    ![](https://tc2.zeruns.tech/2024/10/04/imageaa6bac74695fa715.png)

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

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

    ![](https://tc2.zeruns.tech/2024/10/04/imageb197aab9242609b6.png)

    ![](https://tc2.zeruns.tech/2024/10/04/imagea07ba38860aafbc5.png)

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

    ![](https://tc2.zeruns.tech/2024/10/04/imagec0e746136512feee.png)

    ![](https://tc2.zeruns.tech/2024/10/04/imageef82458075302dbb.png)

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

    ![](https://tc2.zeruns.tech/2024/10/04/image59db18abed9625c9.png)

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

    ![](https://tc2.zeruns.tech/2024/10/04/imagee987525ae6b7872c.png)

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

    ![](https://tc2.zeruns.tech/2024/10/04/image59cd1adc97d89154.png)

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

    ![](https://tc2.zeruns.tech/2024/10/04/image5ddb4ab86ac8616b.png)

    ![](https://tc2.zeruns.tech/2024/10/04/imageb6e01a824b91bc10.png)

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

    ![](https://tc2.zeruns.tech/2024/10/04/image0c1b2d0b2e320a88.png)

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

    ## 推荐阅读

  • - 高性价比和便宜的VPS/云服务器推荐: https://blog.vpszj.cn/archives/41.html
  • - 免代码搭建博客网站!超详细个人博客搭建教程:[https://blog.zeruns.tech/archives/783.html](https://blog.zeruns.tech/archives/783.html)
  • - 我博客网站又遭受CC攻击了,记录一下:[https://blog.zeruns.tech/archives/819.html](https://blog.zeruns.tech/archives/819.html)
  • - 我的世界服务器搭建教程:[https://blog.zeruns.tech/tag/mc/](https://blog.zeruns.tech/tag/mc/)
  • - Linux搭建Discuz论坛网站,网站搭建教程:[https://blog.zeruns.tech/archives/681.html](https://blog.zeruns.tech/archives/681.html)
  • - 机械革命imini Pro820迷你主机评测和拆解:[https://blog.zeruns.tech/archives/813.html](https://blog.zeruns.tech/archives/813.html)
  • 好帖帮顶,晚上试一下

    光发帖,光打赏,咋没人跟帖,反馈学习呢?

    @“newbeeplus8910”#p104532

    搭成功了吗


    建议域名解析部分记录内容用


    </s><i> </i>`something`<i> </i><e>

    写,避免`~`和后面的文字被自动渲染

    @“may”#p104704

    加了转义字符解决了

    </s>\~<e>

    </s>~

    @“zeruns”#p104431 雨云不开25端口!!!看错了

    @“zeruns”#p104692 面板能进去了,我是复用443端口的,还要调一下nginx

    明天再搞

    比我想象的容易:huaji02:

    @“Tom_zhao”#p104718

    我问过客服了,湖北十堰的机是开25端口的,实测也是没问题的

    @“newbeeplus8910”#p104762

    如果服务器上还有网站服务应用的,可以参考下面这个命令来搭poste.io,我的就是这样,将443端口映射到433,然后nginx反向代理到433端口

    shell</s><i> </i>docker run -d \ -p 25:25 \ -p 81:80 \ -p 433:443 \ -p 110:110 \ -p 143:143 \ -p 465:465 \ -p 587:587 \ -p 993:993 \ -p 995:995 \ -e TZ=Asia/Shanghai \ -v /www/wwwroot/mail:/data \ --name "mailserver" \ -h "mail.vpszj.cn" \ -t hub.vpszj.top/analogic/poste.io<i> </i><e>

    整了一天搞完了

    发信测试如下

  • - proton 被ban
  • - gmail 垃圾箱
  • - sohu 收件箱
  • - qq 收件箱
  • - sina 被ban
  • - 163 被ban
  • 可以正常收到上述邮箱发来的邮件

    @“newbeeplus8910”#p105452

    刚刚测试Gmail确实进垃圾箱,163正常进收件箱

    @“zeruns”#p105596 添加了dmarc和rdns以后163和gmail可以正常收到了

    sina还是被ban

    @“newbeeplus8910”#p105619

    outlook.com也拒收了我这个域名邮箱的邮件,我另一个用阿里企业邮箱的域名邮箱发的邮件也被outlook.com拒收了

    @“zeruns”#p105661 一样

    wawa

    我没有vps怎么办呢?我想学习。

    @“H@O”#p105964

    没有就买个呗

    国内有winmail.cn 它有WIN版和LINUX版,如果要给企业自建邮件服务器,考虑这个就行了。正版才千把块钱

    @“zeruns”#p110525

    买哪家的,你给推荐一下,现在有没有优惠?