【玩转互联网】自建外网邮件服务器

大家好,我是无人机。


简介

工作过程中经常需要外网邮箱接收系统的测试邮件,常见的邮件平台基本都有很长很长的身份验证流程,以及十分严格的数量限制。对于我们只是临时用的来说,很憋屈,气的心突突跳,宝贝憋紫黑。了解分析了邮件服务器的工作原理和组成后,借助开源工具自己撸个外网邮件服务器,方便自己及同事的使用。

架构解析

mailserver.png

从图上可以看到,邮件服务使用的是开源的hMailServer,系统数据存储在本地的mysql。其中因为需要外网可通,我使用了我的公网云服务器作为转发机,把内网的邮件服务进行了穿透映射。

由上可知,架设一个外网邮件服务器,一个公网IP和公网域名是必不可少的。另外实际使用过程发现,公网域名必须是备案的,不然大部分的邮件服务器(qq、163)都会拦截给我们发的邮件。

安装步骤

下载hMailServer

开源的东西还是官方网站下载比较稳妥:https://www.hmailserver.com/download

安装hMailServer

流程不长,一路next即可,要记住自己设置的管理密码,每次进后台都会用到。
最后安装完成后进入后台管理页面如下:


1598257431974.jpg

添加邮箱用户

进入Domains > 域名 > Accounts > Add

这里的密码输入后,失焦就看不到了,注意记录。

1598335275210.jpg

其它的高级配置先不动。

外网服务器开通25端口

很多厂商的云服务器25端口默认是关闭的,我们需要用到,腾讯云可以自己申请打开。路径为:腾讯云控制台 > 头像下拉框 > 安全管控 https://console.cloud.tencent.com/secctrl/smtp, 选中自己的服务器申请解封25端口,即时可用。

内网穿透

我是windows是内网机器,需要能在外网收邮件需要让其他人也能检索到我们的服务,这就需要做个内网穿透了。我使用的是frp ,很好的开源的软件,下载地址:https://github.com/fatedier/frp/releases

简单介绍下我的配置,frp分为两个端:server、client。

公网服务端

配置文件:

# frps.ini
[common]
bind_port = 7000

先启动server端:

$ sudo ./frps -c frps.ini 

这里因为后面客户端绑定的端口都是短号,需要管理员权限才能正常启动

winodws客户端

下载对应的windows版本的frp
配置文件:

# frpc.ini
[common]
server_addr = 45.40.xxx.xx
server_port = 7000

[tcp110]
type = tcp
local_ip = 127.0.0.1
local_port = 110
remote_port = 997

[tcp25]
type = tcp
local_ip = 127.0.0.1
local_port = 25
remote_port = 25

[tcp143]
type = tcp
local_ip = 127.0.0.1
local_port = 143
remote_port = 1439

[tcp1429]
type = tcp
local_ip = 127.0.0.1
local_port = 587
remote_port = 1429

启动clinet端:

cmd> frpc -c frpc.ini 

看到客户端日志如下,就是穿透服务架设成功了。

2020/08/25 09:34:18 [I] [service.go:282] [7cf98eeece2ffe93] login to server success, get run id [7cf98eeece2ffe93], server udp port [0]
2020/08/25 09:34:18 [I] [proxy_manager.go:144] [7cf98eeece2ffe93] proxy added: [tcp25 tcp143 tcp1429 tcp110]
2020/08/25 09:34:18 [I] [control.go:179] [7cf98eeece2ffe93] [tcp25] start proxy success
2020/08/25 09:34:18 [I] [control.go:179] [7cf98eeece2ffe93] [tcp143] start proxy success
2020/08/25 09:34:18 [I] [control.go:179] [7cf98eeece2ffe93] [tcp1429] start proxy success
2020/08/25 09:34:18 [I] [control.go:179] [7cf98eeece2ffe93] [tcp110] start proxy success

邮件客户端配置

我以foxmail为例,对应上面的穿透服务提供的远程端口,邮件客户端配置如下:


1598337038080.jpg

至此我们已经可以给外网邮箱发送邮件了,可能会进人家的垃圾箱,自己试试吧。
但我们还无法收到外网给我们发的邮件,还需要给域名配置下解析规则。

配置外网域名的邮件服务解析

这里其实最主要就是mx记录的解析,并且要保证你的25端口是通的,试过换成其它的端口,内网自己可用,但其它邮件服务器不认。
下图以主机屋的域名配置为例:

1598337861966.jpg

mx记录不是立即就生效的,最长要等4小时。实际我等了几分钟左右

结语

至此我们自己的公网邮件服务器已架设完成,账号要多少有多少,再也不用找朋友借邮箱测试了,两个肺透亮透亮的。亲测了可以用来注册linked账号,各家服务器限制不同,自己去试试吧。


1598338318706.jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容