本教程将指导你在 Ubuntu 服务器上从零开始搭建一个个人邮件服务器。整个过程分为三个阶段:服务器准备、PMail 部署以及后续维护。
前提条件:
- 一台全新的 Ubuntu 20.04 或更高版本的服务器。
- 一个已注册的域名,并且可以登录域名服务商的后台。
第一阶段:服务器环境准备
这一阶段,我们将确保你的服务器能满足 PMail 的运行条件。
第一步:登录服务器
使用 SSH 客户端登录你的服务器。
Bash
ssh 用户名@你的服务器IP
# 例如:ssh root@123.45.67.89
第二步:更新系统并安装工具
为了确保系统环境干净,我们先更新软件包,并安装必要的工具。
Bash
# 更新软件包列表
sudo apt update
# 安装 unzip 和 wget 工具,用于解压和下载文件
sudo apt install unzip wget -y
第三步:开放防火墙端口
邮件服务器需要开放多个端口来收发邮件。请在你的云服务器控制台(如阿里云、腾讯云)的安全组或防火墙设置中,开放以下 TCP 端口:
- 25 (SMTP):用于发送邮件。
- 80 (HTTP):PMail 初始配置和获取 SSL 证书使用。
- 110 (POP3):旧版邮件接收协议。
- 443 (HTTPS):PMail 的网页界面使用。
- 465 (SMTPS):安全的 SMTP 协议。
- 587 (Submission):用于邮件提交。
- 993 (IMAPS):安全的 IMAP 协议。
- 995 (POP3S):安全的 POP3 协议。
第二阶段:DNS 配置和 PMail 部署
这一阶段,我们将进行域名解析,并开始 PMail 的部署。
第一步:DNS 解析配置
这一步至关重要,它让其他邮件服务器知道如何找到你的服务器。请登录你的域名服务商后台,找到 DNS 解析管理页面,添加以下记录:
| 记录类型 | 主机记录(Hostname) | 记录值(Value) | 优先级(Priority) |
| A | pmail | 你的服务器 IP | 无 |
| A | smtp | 你的服务器 IP | 无 |
| A | imap | 你的服务器 IP | 无 |
| A | pop | 你的服务器 IP | 无 |
| MX | @ | smtp.你的域名 | 10 |
| TXT | @ | v=spf1 a mx -all | 无 |
重要提示:
@:代表主域名本身。- MX 记录:优先级
10是一个常用值,表示首选邮件服务器。 - DNS 记录生效需要时间,请耐心等待几分钟到几小时。
第二步:下载 PMail 程序
在服务器上,下载 PMail 的可执行文件。
Bash
# 进入根目录
cd /root/
# 下载并解压
wget https://github.com/Jinnrry/PMail/releases/download/v2.8.6/pmail_linux_amd64.zip
unzip pmail_linux_amd64.zip
第三步:运行 PMail 并进行网页配置
我们将使用 sudo 以管理员权限运行 PMail,并用 -p 80 参数让它在 80 端口启动初始配置界面。
Bash
# 赋予执行权限
chmod +x pmail_linux_amd64
# 运行程序
sudo ./pmail_linux_amd64 -p 80
程序启动后,会提示你用浏览器访问 http://你的IP地址。
网页配置流程:
- 域名设置:在两个输入框中都填写你的主域名(例如
xindudu.online),然后点击“下一步”。 - DNS 记录确认:页面会显示你之前添加的 DNS 记录,确认无误后继续。
- SSL 证书:选择 HTTP 请求。PMail 会通过 80 端口自动向 Let's Encrypt 申请和验证证书。
- 管理员账号:创建你的管理员邮箱和密码,这是你登录邮箱的凭据。
整个过程完成后,页面会跳转到欢迎界面,同时终端会显示 PMail 正在运行。
第三阶段:服务部署和后台运行
这一阶段,我们将让 PMail 成为一个可以持续运行的后台服务。
第一步:停止 PMail
在终端里,按 Ctrl + C 停止当前运行的 PMail。
第二步:后台运行 PMail
使用 nohup 命令,让 PMail 在后台持续运行,这样即使你关闭 SSH 连接,服务也不会停止。
Bash
nohup sudo ./pmail_linux_amd64 &
终端会返回一个进程号(PID),并提示输出会被记录到 nohup.out 文件中。
第三步:验证服务是否正常
- 检查进程:使用
ps aux | grep pmail查看 PMail 是否在运行。 - 访问网页:尝试访问
https://pmail.你的域名,如果能够看到登录界面,说明配置成功!
Comments NOTHING