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

news/2024/10/5 18:49:04 标签: 服务器, 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地址。同时,域名也具有一定的商业价值,可以作为企业或个人在互联网上的标识和品牌形象。

注册域名

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

  • 腾讯云优惠注册地址:https://curl.qcloud.com/NEXNARPz
  • 阿里云优惠注册地址:https://www.aliyun.com/minisite/goods?userCode=jdjc69nf
  • 雨云优惠注册地址:https://url.vpszj.cn/rainyun_csdn

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

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

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

根据提示输入信息

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

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

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

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

准备

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

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

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

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

  • 雨云 湖北十堰 8272CL 高防高性能云服务器测评:https://blog.vpszj.cn/archives/2084.html
  • 北少云 河南 8272CL 云服务器性能测评:https://blog.vpszj.cn/archives/2150.html
  • 皓量云擎 宁波 E5-2667v4 云服务器性能测评:https://blog.zeruns.tech/archives/821.html
  • 野草云 香港BGP大带宽VPS测评:https://blog.vpszj.cn/archives/2211.html
  • 其他性价比高的服务器推荐:https://blog.vpszj.cn/archives/41.html

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

皓量云擎优惠注册地址: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并回车退出。

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 替换成你自己的域名就可以

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

如下图所示:

安装Docker

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

用apt包管理器来安装:

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

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

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

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

# 安装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换镜像源(如果下面的镜像源地址失效了就自行寻找新的)

# 创建或修改 /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改成你自己要部署的域名

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邮箱发邮件到我们搭建的域名邮箱,测试成功。

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

推荐阅读

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

http://www.niftyadmin.cn/n/5691157.html

相关文章

pyqt打包成exe相关流程

1、首先是安装pyinstaller, 在cmd中输入以下安装命令: pip3 install pyinstaller -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/ 2、安装完毕之后,下一步就是找到你要打包的工程,打包的logo放置如下位置: 3、将log…

软件I2C-基于江科大源码进行的原理解析和改造升级

一、软件I2C的作用 软件I2C可以不用特定的端口,可以在I2C外设不够的时候使用,虽然没有硬件I2C的速度快,但是在一些要求低的工作中不足为谈 数据有效性: I2C总线进行数据传送时,时钟信号为高电平期间,数据…

Java编码方式:Base64编码与解码

1、Base64 算法介绍 Base64 是一种基于 64 个可打印字符来表示二进制数据的表示方法。它主要用于在不支持二进制数据的场合(如电子邮件、URL、文件系统名等)传输二进制数据。严格来说 Base64 并不是一种加密/解密算法,而是一种编码方式。Bas…

CSS相关属性和显示模式

1. CSS相关属性 1.1 常见控制属性 属性名 作用 案例 width 宽度 width : 100px; height 高度 height : 100px; background-color 背景色 background-color : red; 1.2 文字控制属性 属性名 作用 案例 font-size 字体大小 font-size:30px; font-weight 字体…

算法(食物链)

240. 食物链 题目 动物王国中有三类动物 A,B,C𝐴,𝐵,𝐶,这三类动物的食物链构成了有趣的环形。 A𝐴 吃 B𝐵,B𝐵 吃 C𝐶,C𝐶 吃 A𝐴。…

数据科学基础复习(简)

可视化、数据可视化 在狭义上,数据可视化是与信息可视化,科学可视化和可视分析学平行的概念,而在广义上数据可视化可以包含这3类可视化技术。 数据科学的主要任务 数据科学研究目的与任务 大数据及其运动规律的揭示从数据到智慧的转化数据…

Unity如何用代码让Project窗口聚焦到指定路径/文件/文件夹

前言: 当项目文件夹 路径越来越多越来越复杂越来越深的时候,要切换到某个目录总要点好多次;而且经常会有在几个频繁访问的目录之间跳来跳去的需求场景。 此时,可以考虑在顶部菜单栏加上快捷访问按钮,能够快速地在Proje…

DenseNet算法:口腔癌识别

本文为为🔗365天深度学习训练营内部文章 原作者:K同学啊 一 DenseNet算法结构 其基本思路与ResNet一致,但是它建立的是前面所有层和后面层的密集连接,它的另一大特色是通过特征在channel上的连接来实现特征重用。 二 设计理念 三…