我相信很多人都有搭建邮局的需求,但是除了直接购买邮局服务器,还是有很大一部分人是想要自己搭建自己的邮局的。今天有空就准备写一篇基于 Mailserver+Roundcube 搭建邮局的教程。最主要的原因还是帮助大家一点一点的提升自己,掌握更多 VPS 的玩法。
但在此之前,必须先泼一盆冷水。
自建邮局有以下缺陷:
如果这些缺点你都能接受,或者只是想单纯的学习一下邮局的搭建,那请继续的看下去吧
在开始之前,请确保满足以下条件:
购买域名教程:Spaceship 域名注册优惠购买使用教程
telnet smtp.gmail.com 25 测试,如果通了就是开放的,不通请找服务商申请)。开发 25 端口的商家我推荐:RackNerd 、Netcup 、CloudClone 、BWH (搬瓦工),有一些默认没开需要申请,有一些默认开启了。RackNerd 的 rDNS 需要工单开启、Netcup 可以在服务器后台自主设置 rDNS 信息。
在我的传家宝监控都可以找到:传家宝 VPS 监控

Mailserver 并点击 安装。
名称: 保持默认 mailserver。
OVERRIDE_HOSTNAME: 输入你的邮件服务器主机名,例如 mail.yuhuiculture.icu(请替换为你自己的域名)。

端口: 保持默认( 25, 143, 587, 993 等)。
高级设置: 建议勾选“端口外部访问”。

点击 1Panel 侧边栏 容器,找到 mailserver 容器,点击右侧的 终端 图标进入容器命令行。

输入以下命令创建邮箱账户(将 [email protected] 和 密码 替换为你自己的):
# 语法: setup email add <邮箱地址> <密码>
setup email add [email protected] yourstrongpassword
继续在终端输入命令生成 DKIM 密钥:
setup config dkim
生成成功后,DKIM 密钥文件位于容器内的 /tmp/docker-mailserver/opendkim/keys/ 目录下。
对应 1Panel 主机(宿主机)的路径通常为:
/opt/1panel/apps/mailserver/mailserver/data/dms/config/opendkim/keys/

进入宿主机的该目录,找到 mail.txt 文件,下载或查看内容,我们需要将里面的内容导入到 DNS 解析中。这个地方的内容在后续的 DNS 解析里很重要,所以可以下载到本地。
这是最关键的一步,请登录你的域名服务商后台(如阿里云、腾讯云、Cloudflare ),添加以下记录,我这里是使用 Cloudflare 作为演示,所以可能和你的不一样但是添加记录的方式都是一样的。
假设你的域名是 yuhuiculture.icu,邮件服务器 IP 是 154.26.209.188。
将邮件服务器域名指向 IP 。
这里顺带也可以把 roundcube 的二级域名添加上去,后续搭建 web 面板使用的时候,就不需要在过来添加域名解析了,如果不喜欢 roundcube 也可以缓存你自己喜欢的二级域名绑定。
告诉互联网你的邮件由哪台服务器接收。
授权该 IP 发送邮件,防止他人冒用。
v=spf1 mx ~all解释:
v=spf1版本号;mx表示授权 MX 记录对应的 IP 发信;~all表示宽容策略(软失败),如果 IP 不匹配则标记为垃圾邮件而不是直接拒收,v=spf1 mx ~all这里的 IP 也可以使用你服务器的 IP ,具体的规则需要参考文档,如果发现出现问题可以把报错信息给 AI ,协助你处理。
打开刚才生成的 mail.txt 文件。
手动添加 DNS 记录时注意:需合并文件内的记录值,去掉双引号和换行符,将其合并成一行长字符串。
mail._domainkey (注意:如果是默认生成的,通常是 mail 作为选择器,请检查文件名确认)v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BA...(此处省略长串公钥)...IDAQAB
告诉接收方如何处理未通过 SPF 或 DKIM 验证的邮件。
v=DMARC1; p=none; sp=none;解释:
p=none表示目前只监控不拦截(适合初期调试)。稳定后可改为p=quarantine(隔离)或p=reject(拒绝)。

为了方便在网页上收发邮件,我们需要部署 Roundcube ,想必大家可能见过这个界面,主色调蓝白色可以很方便的收发邮件,而且很多插件配合是一个很好的邮件管理 web 项目。
Roundcube 并点击 安装。roundcube154.26.209.188我这里是绑定了域名,所以直接使用域名就好了。
* **端口:**
* IMAP 端口:143 (非加密) 或 993 (SSL)
* SMTP 端口:25 (非加密) 或 587 (TLS)
* **端口外部访问:** 勾选,并在外部端口填入一个你喜欢的端口(如 8080 ),或者随后通过 1Panel 的“网站”功能做反向代理绑定域名(例如 `roundcube.yuhuiculture.icu`),在前面我已经添加了 roundcube 面板的地址,所以我这里也直接填入域名。
如果你不想绑定域名,也可以选择开放端口,然后使用
http://IP+端口的方式访问,默认端口是8080。但是我建议配置反代,开启 HTTPS 保证安装防护。
Roundcube 安装的时候会让你选择数据库,如果你没有安装 mysql 数据库,可以在应用市场搜索 mysql ,然后默认选择安装,安装成功之后在点击 roundcube 安装,就可以选择安装的数据库了。
其实也可以使用 SQLite 但是 1Panel 的镜像默认是使用 mysql 的。
在浏览器访问 https://roundcube.yuhuiculture.icu 我这里的地址是开启了 HTTPS ,如果你没有开启或者绑定域名请使用 IP+端口的方式访问。
如果能成功登录,说明 Roundcube 连接 Mailserver 成功。

你可以尝试用你的 Gmail 或 QQ 邮箱给邮局发送一封邮件。

访问 Mail-Tester。

走到最后一步,也就是说明了你的邮箱搭建完成了,可以使用 Roundcube 去查看邮箱和发送邮箱,你自己的邮局也就搭建好了。但是如果你想要公开给别人访问或者注册还缺了一些步骤,限于篇幅原因我也就不细讲了。
后续我也会持续更新使用宝塔面板搭建邮局的教程,还有全自动的邮箱搭建脚本,不需要像现在一样这么麻烦去一步一步的设置安装组件。
有了自己的邮局也不是说就可以为所欲为了,很多服务器商家都有自己的 TOS ,发送垃圾邮件轻则关机警告重则删除服务器封号,所以还是要注意自己的使用。如果不想折腾也可以完全购买现成的邮箱服务,稳定而且还安全唯一缺点就是现在发送频率。
1
PeiXyJ 9 小时 34 分钟前
这是我见过最长的帖子了
|
2
zp872571679 OP @PeiXyJ 你就说够不够细把
|
3
orion1 PRO 可以用来无限发广告吗
|