冰漪叶
作者相关精选

[叶子]在自己的服务器上搭建自己的邮箱

首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >[叶子]在自己的服务器上搭建自己的邮箱

[叶子]在自己的服务器上搭建自己的邮箱

发布于 2022-10-24 13:53:52
10.8K0
举报
文章被收录于专栏:冰漪叶的折腾

前言:

这可能是我写的文章中为数不多的有全程完整截图的、不是在完工后再来回忆的文章,但并不是因为我一开始就打算写这篇教程,而是搭建邮箱这玩意我做了”双份“——先在我自己的服务器上面给我自己搭建,确认成功了、各项功能都正常了我才在 @gaoice 的服务器上面搭建,并同时边搭建边截图,之所以我写这个,是因为我在给自己的服务器搭建的时候走了太多的弯路,过程太曲折,以至于在完工之后我觉得有必要写这么一篇文章来记录这个过程。但是我并不打算在这篇文章里面详细讲我走的弯路的具体情况,这篇文章主要还是讲搭建这件事本身。

废话不多说了,现在开始正文部分。宝塔面板上面本来有一个邮局插件是可以用于搭建邮箱的,但奈何它总能给我整出点新花样,我便只好选择放弃它了。首先要把端口给空出来,下面贴出poste官方文档里面安装指导篇给出的需要的端口列表,我直接把原文贴了过来,如果看不懂请自行找翻译工具

Ports which are opened by poste.io:

Port number

Purpose

25

SMTP – mostly processing incoming mails

80

HTTP – redirect to https (see options) and authentication for Let’s encrypt service

110

POP3 – standard protocol for accessing mailbox, STARTTLS is required before client auth

143

IMAP – standard protocol for accessing mailbox, STARTTLS is required before client auth

443

HTTPS – access to administration or webmail client

465

SMTPS – Legacy SMTPs port

587

MSA – SMTP port used primarily for email clients after STARTTLS and auth

993

IMAPS – alternative port for IMAP encrypted since connection

995

POP3S – encrypted POP3 since connections

4190

Sieve – remote sieve settings

而三个关于邮件的协议以及它们的加密版本使用的7个端口,宝塔邮局里面的组件至少占了3个(SMTP的25,IMAP的143,还有pop3的110),在设置了ssl证书之后占用的端口会再多出三个(SMTPs的465,IMAPs的993,还有pop3s的995),由于我是从宝塔邮局转别的邮件,所以得先在宝塔的设置里面把相关的服务先停了

停了之后宝塔这边会显示”已停止“,为了确定是真的停了,在本地用nmap扫一下这些需要用到的端口

显示”filtered“意思是防火墙或者安全组没有放通这个端口,显示closed的话就是端口已经放通了,但是没有程序在监听这个端口,然后就按照腾讯云的文档去设置docker的镜像源,设置成腾讯云的内网源

然后通过ssh连接到服务器上,把需要用到的docker镜像给pull下来,上一步的设置镜像源就是为了在这一步省点时间,毕竟走腾讯的内网,会快很多

然后根据官方的安装指导,结合这篇帖子,根据自己的需要以及实际情况,拼凑出完整的一条docker run命令。我这里为了后期更改启动命令方便,我把启动命令设置成了一个放在映射目录中的脚本文件,这样如果后期我需要更改容器的启动命令,那我只需要更改这个脚本的内容就行了

目前脚本里面的内容有点简陋,就一条命令,不过这是因为我暂时没有需要更改它的启动命令,就让它启动一个bash先

在脚本放置完毕、启动命令拼凑完成之后,将启动命令粘贴到ssh里面执行,执行完成之后如果一切顺利,用docker ps命令能看到大概这样的输出

接着在本地再拿nmap扫一下,跟刚才相对比,除了那两个filtered的端口依旧是filtered之外,其它的端口都由close转为open,open表示端口放通了并且有程序在监听这个端口

在上面的命令中,我把容器内的80端口映射到宿主机的8000端口并禁用了https,但我并不想放通8000端口,放通的端口越多,潜在的安全风险就越多,所以接下来就该设置ng的反代了,在宝塔新建一个网站(由于我这次搭建,映射出来的目录本身就是在一个网站下面,网站也事先建好了故跳过这步),PHP版本选择”纯静态“,然后到反向代理那里添加一条环回地址8000端口的反向代理,然后去配置ssl相关的设置

在一切都设置完成之后就可以通过域名访问刚刚搭建的邮箱,由于是首次使用,所以它会先跳到首次使用的设置页面,设置好邮件服务器的主机名和管理员邮箱的地址与密码,这里需要注意的是主机名最好是设置的跟域名一样,有条件的给服务器的IP上ptr记录会更好(腾讯这边的ptr记录得花钱买,1k5 元/年/5条,这个价格令我望而生畏,买不起),不然容易进垃圾箱(虽说由于未知原因,这个 @gaoice 的自建邮箱还是逃不过Gmail的垃圾箱,而我自己的就没事。。。)

在完成初始配置之后去到”virtual domains“设置里面点你域名右边的”show“,然后点”create new key“

如果一切顺利,它顶部会显示”new dkim keys generated,update your dns settings“,并在刚才显示”create new key“的地方显示你的dkim记录

然后去dns服务提供商那边按照poste给你的信息去添加一条txt的解析,顺带把spf和dmarc的txt记录也添加了

在完事之后去这里验证一下你的dkim等设置,等这里显示dkim、spf、dmarc都pass了之后再去mail-tester那边测试

因为mailtester这边免费用户一天只能测三次,而上面的dkim测试就没有限制,故不要因为dkim、spf、dmarc等问题导致的意外而浪费每天仅有的三次测试机会

最后来一张绝望的Gmail截图

写在最后:

我之前在自己服务器上面搭建的时候,最开始用的宝塔,在刚开始搭建的时候是能收到邮件的,那个时候我25端口是没有放通的好像,但是不知道什么时候开始,突然收不到邮件,我以为是宝塔发疯,便上网搜寻其它的类似的组件包,上网搜索过很多资料,最后唯一对我有用的就是这篇,看了这篇之后考虑过ewomail、iredmail、mailcow和poste.io,ireadmail和ewomail都是丢给你一个脚本让你自己在服务器上面跑,ewomail同时还是开源的,文档也很详细,也免费提供一定的技术支持,而ireadmail不知道是否开源,文档也没怎么详细讲,最关键似乎不提供官方免费技术支持,网上也没多少相关资料,mailcow搞不太懂,最开始是先尝试的ewomail,结果最后登不上去,只好再找别的,后来发现poste.Io的文档也挺详细,而且官方支持docker部署,就照着官方文档结合网上的一些资料搭建起来了,不过刚搭建好也是收不到邮件,后来找腾讯云的客服才知道,25端口的入方向是得放通的,放通25端口之后,就一切顺利了。但是很多IDC是默认阻塞掉25端口的出方向的,不过这实测并不太影响发邮件,25端口如果真心想搭建邮件服务器的话出方向的影响并不大,正如poste官方文档里面客户端设置的示例中说所的一样

Do not use port 25 at all as it is reserved for communication for remote mailservers only. Even if it will work you might be affected by unnecessary connection testing and various slowdowns. Some ISPs also blocks customers outbound connections to 25 due fighting with SPAM so it might be impossible to connect to your mailserver from various places. Connections to port 465/587 are mostly tolerated. 翻译:完全不要使用端口 25,因为它仅用于远程邮件服务器的通信。即使它会起作用,您也可能会受到不必要的连接测试和各种减速的影响。由于与垃圾邮件的斗争,一些 ISP 还会阻止客户与 25 的出站连接,因此可能无法从各个地方连接到您的邮件服务器。大多数情况下可以容忍连接到端口 465/587。

实测在配置了ssl之后,25端口在出方向的阻塞并不影响发件,但是入方向会影响收件,不过这个是在自己的可控范围内,因为25端口的入站方向是由自己控制的

参考资料:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除
评论
登录后参与评论
推荐阅读
编辑精选文章
换一批
轻量折腾计划1,搭一个域名邮箱来玩玩
这是一个系列,初期预计将有9-10篇左右的文章,旨在记录我折腾腾讯云的轻量应用服务器的相关过程,欢迎感兴趣的读者关注。
NNT
2021/07/22
4.7K1
轻量折腾计划1,搭一个域名邮箱来玩玩
Docker搭建免费邮箱服务器
EwoMail是基于Linux的开源邮件服务器,支持一键搭建,集成了众多优秀稳定的组件,是一个快速部署、简单高效、安全稳定的邮件解决方案,支持电脑和手机的客户端,适合个人或邮箱功能需求少的企业。
Petrochor
2022/06/07
4.7K0
Docker搭建免费邮箱服务器
邮局系列教程 | 使用poste.io部署自己的邮局
Posteio 是一个轻量级的开源邮件服务器程序,旨在简化邮件系统的部署和管理。它支持常见的邮件协议(如 SMTP 和 IMAP),并具有内置的反垃圾邮件、反病毒功能,确保邮件通信的安全性和稳定性。Posteio 易于安装,支持 Docker 容器化部署,非常适合中小型企业和个人用户使用,既能够满足基本的邮件发送与接收需求,又能够通过扩展自定义功能来提升系统的灵活性。
夜梦星尘
2024/09/12
1.8K0
邮局系列教程 | 使用poste.io部署自己的邮局
使用Docker搭建poste,自建邮件服务器
自建邮件服务可以不受发件量限制,批量发件成本更低,但部署相对复杂,而且容易进垃圾箱。不过现在越来越多的服务商已经开发好了产品,支持一键部署等方式,极大降低了部署和使用难度。这次给各位小伙伴安利一款开源邮件服务poste.
星哥玩云
2022/08/13
7.9K0
使用Docker搭建poste,自建邮件服务器
Docker 搭建开源强大的邮局,poste.io
重要:要部署自己的邮局,请先确认服务器的25端口是开放的,入站出站都是OK的才行,阿里云腾讯云的服务器25端口默认都是封的。不太好解封。所以要试玩搭建poste.io 最好用一个国外的机器
huolong
2023/09/13
9.8K0
Docker 搭建开源强大的邮局,poste.io
Docker搭建免费邮箱服务器
EwoMail是基于Linux的开源邮件服务器,支持一键搭建,集成了众多优秀稳定的组件,是一个快速部署、简单高效、安全稳定的邮件解决方案,支持电脑和手机的客户端,适合个人或邮箱功能需求少的企业。
子润先生
2021/06/23
40.8K1
Pmail——仅用一分钟就可以搭建好一个邮箱服务器
作者的github地址如下:https://github.com/Jinnrry/PMail readme里有明确说 PMail是一个追求极简部署流程、极致资源占用的个人域名邮箱服务器。单文件运行,包含完整的收发邮件服务和Web端邮件管理功能。只需一台服务器、一个域名、一行代码、一分钟部署时间,你就能够搭建出一个自己的域名邮箱。
huolong
2023/10/26
25.3K11
Pmail——仅用一分钟就可以搭建好一个邮箱服务器
iRedMail -开源邮件服务器解决方案
huolong
2024/01/11
1.6K0
Mail——基于docker-mailserver搭建邮箱服务
之前是基于企业微信搭建了自己的邮件服务,现在想独立搭建一个邮件服务,选择后最终考虑基于docker-mailserver进行搭建,一路坎坷,就当踩坑学习了吧,虽然最后通过中转实现了正常发送,不过感觉还是很坑,国内的厂商一般都禁用了25端口,所以真的要用的话要记得申请下;
思索
2024/08/30
1.7K0
搭建 EwoMail 邮件服务器
EwoMail 是一款简单易用的邮件服务器,本文记录服务器配置方法。 EwoMail 简介 基于Linux下的邮件服务器软件,安全稳定,无需专人维护 基于Web现代化的邮箱管理后台、WebMail,无需安装任何客户端 简单易用,支持多语言切换,详细的使用手册,容易上手 官方网站:http://www.ewomail.com/ 服务器配置方法 本文使用 docker 安装 EwoMail 服务器 docker hub 链接:https://hub.docker.com/r/bestwu/ewoma
为为为什么
2022/08/06
14.1K1
搭建 EwoMail 邮件服务器
利用宝塔邮局管理器加rainloop搭建自己的邮箱
注:需要提前在域名服务商解析mail(可以不为mail)域名到服务器,例:mail.mxisc.cn
铭心
2024/12/20
1.2K0
利用宝塔邮局管理器加rainloop搭建自己的邮箱
Phishing钓鱼演练平台搭建
得到通知需要对某单位内部员工进行一次钓鱼邮件演练,因为之前接触的不多,钓鱼只是娱乐性的自己钓自己,记录下思路和踩坑。
纯情
2023/04/27
2.2K0
Phishing钓鱼演练平台搭建
5分钟教你搭建邮件服务器的实用指南
今天我写了一篇实用的文章,重点是教你如何免费搭建一个邮件服务器,这个服务器不仅可以用于发送邮件,还可以供我的待办机器人使用。一开始我试图找一些免费的 API 接口来实现这个功能,但遗憾的是,并没有找到合适的。对于程序员来说,能自己动手实现绝对是最好的选择,幸运的是,我有一台空闲的服务器可以利用。如果你没有自己的服务器,可以考虑购买一些付费接口来实现这个功能。不过,如果你已经有服务器或者想要搭建一个,不妨看看我的这篇文章,我保证你在5分钟内就能成功搭建好邮件服务器。
努力的小雨
2024/05/02
7.9K6
Swaks伪造邮件发件人绕过SPF
设置正确的 SPF 记录可以提高邮件系统发送外域邮件的成功率,也可以一定程度上防止别人假冒你的域名发邮件。
黑白天安全
2020/07/23
7.8K0
Swaks伪造邮件发件人绕过SPF
【宝塔邮局管理器】使用教程
安装完Redis服务后设置密码,设置密码时不要使用&%这类特殊符号 会导致负载状态显示异常,可使用英文+数字组合密码
西里国际站
2023/04/19
3.6K0
【宝塔邮局管理器】使用教程
邮箱安全第9期 | 利用协议认证手段解决邮件安全问题
之前我们介绍了利用商业产品解决方案解决邮箱安全问题,鉴于SMTP传统邮件的安全性不足,我们将为大家介绍利用SPF,DKIM,rDNS, DMARC等邮件协议认证的手段解决邮箱安全问题。本期分别为大家做一些简单的介绍。 1rDNS rDNS是什么? rDNS(Reverse DNS)指得是反向解析,就是把IP解析成域名。反向解析在邮件服务器应用中相当于对你的邮件服务器进行身份验证,这样的策略可以很好的减少垃圾邮件。 为什么需要做rDNS? 因为有些应用程序需要反向来认证对方,如SMTP,也就是为什么国外很多S
安恒信息
2018/04/10
2.7K0
邮箱安全第9期 | 利用协议认证手段解决邮件安全问题
Linux搭建开源企业邮箱系统EwoMail
EwoMail是基于Linux的开源邮件服务器软件,集成了众多优秀稳定的组件,是一个快速部署、简单高效、多语言、安全稳定的邮件解决方案,帮助你提升运维效率,降低 IT 成本,兼容主流的邮件客户端,同时支持电脑和手机邮件客户端。
星哥玩云
2022/09/15
7.8K0
Linux搭建开源企业邮箱系统EwoMail
JttiLinux LAMP搭建邮件服务器
在 Linux 系统上使用 LAMP(Linux + Apache + MySQL + PHP)环境搭建邮件服务器,虽然 LAMP 本身并不直接包含邮件相关组件,但它可以为邮件系统提供 Web 管理、数据库存储和前端支持。本文将围绕如何在 LAMP 环境中搭建完整的邮件服务器进行详细说明,适用于 Ubuntu、Debian、CentOS 等主流 Linux 系统。
jtti
2025/07/24
1160
gitlab配置邮箱服务器
GitLab是一个非常流行的基于Web的Git仓库管理工具,可以用于团队协作和版本控制。在GitLab中,可以使用电子邮件来进行通知、邀请等操作。为了使用这些功能,您需要在GitLab中配置一个可用的邮箱服务器。在本文中,我将介绍如何在GitLab中配置电子邮件服务器。
堕落飞鸟
2023/03/31
8.6K0
Spring Boot 发送邮件,端口号大有玄机!
Spring Boot 发送邮件,松哥之前专门写过文章,这里就不啰嗦了。还不懂 Spring Boot 如何发送邮件的小伙伴,翻到本文后半部分,有介绍。 今天想和大家聊一下 SMTP 服务器的端口问题,这个也是一个小伙伴提的问题,SMTP 服务器有众多端口:25、465、587 各自间有什么区别?可以随意使用吗?希望今天这篇文章能给你答案。 1. 什么是 SMTP SMTP 代表简单邮件传输协议,简而言之,它是通过 Internet 发送电子邮件的过程。计算机端口是个人计算机连接到网络并完成数据传输的方式
江南一点雨
2022/03/04
1.1K0
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券