admin 发表于 2023-9-7 07:03:12

利用hMailServer搭建邮件服务器并进行DISCUZ后台邮件设置

一直在论坛白嫖技术,刚刚自己也抱着试一试的心态弄了一哈,没想到居然成功了,所以就把经验分享出来大家一起研究。



后台设置,除了密码打了个马赛克其他没啥好隐藏的


测试接收成功的邮件

浅生 发表于 2023-9-7 07:03:28

前言
假设你已经拥有了一台具有公网ip的服务器,以及域名
hMailServer 介绍
hMailServer 适用于 Windows 操作系统,它除了提供邮箱系统需要的所有基础功能之外,还内置了一些常用功能,比如:反垃圾邮件、反病毒邮件,而其他未内置的功能,则可以根据用户需要,自行去社区中寻找相应的插件来进行扩展

邮件协议介绍
在搭建邮箱系统之前,需要先了解一些前置知识,比如常见的邮件协议:SMTP、POP3、IMAP 等

SMTP
SMTP 即 Simple Mail Transfer Protocol,它用于将邮件投递到邮箱服务器,即邮件的发送,例如:将邮件从邮箱客户端发送到邮箱服务器、邮箱服务器将邮件转发给另一个邮箱服务器,如下:




POP3
POP3 即 Post Office Protocol 3,它用于从邮箱服务器取回邮件,即邮件的接收,例如:邮箱客户端从邮箱服务器取回邮件,如下:


另,POP3 是最简单的邮件接收协议,它只提供基础的功能,缺少一些常用特性,因此使用该协议的情况较少


IMAP
IMAP 即 Internet Message Access Protocol,它同 POP3 一样,是用于邮件接收的协议,如下:

同 POP3 相比,IMAP 支持更多的特性,它们具有以下区别:

POP3 接收邮件的方式为 ‘取’,即接收邮件之后,邮箱服务器将删除已接收邮件,进而释放其占用的空间

IMAP 接收邮件的方式为 ‘读’,即接收邮件之后,邮箱服务器仍保留已接收邮件,因此使用 IMAP 协议的邮箱服务器需要更大的存储空间

POP3 在客户端对邮件的操作,例如删除邮件、阅读邮件等,不会同步到服务器端(我们上一点提到的,服务器端已经将邮件删除,因此不会再有更多操作了)

IMAP 在客户端的操作,例如删除邮件、阅读邮件等,可以同步到服务器端

POP3 只有在接收到完整的邮件后,才能阅读邮件主体内容及发件人、主题等摘要信息

IMAP 可以先接收邮件的摘要信息,对发件人、主题等等进行判断后,再确认是否接收该邮件

DNS 域名解析
我们常常访问,例如 www.baidu.com,其中 baidu.com 是主域名,而前面的 www,表示该域名指向的服务器提供的是万维网(World Wide Web)服务,即网站服务

现在我们的服务器要提供的是邮箱服务,因此也应该有一个域名指向该服务器,并且前缀应该是 mail,我的主域名是 tanleidd.fit,因此邮箱服务器的域名是:mail.tanleidd.fit

配置 A 记录
我是在腾讯云购买的云服务器及域名作开发测试用,因此我将在腾讯云的域名管理面板,来配置域名的解析,如下:



如前所述,我先配置 mail.xcqbm.com 指向我的服务器 ip,这种由域名直接指向具体ip的记录类型,我们称为 A 记录,如下:



然后我们可以通过一些在线 DNS 解析的网站服务,来测试刚刚配置的记录是否生效,通常是立即生效,如下:


配置 MX 记录
邮箱地址格式通常是:用户名@邮箱服务器域名,例如: tanleidd@163.com,通过对 163.com 进行 DNS 解析,就可以得到邮箱服务器 ip,如下:

上一步我们对 mail.xcqbm.com 进行了配置,如果直接使用它的话,邮箱地址就成了:xxx@mail.xcqbm.com,这样不够简洁,我们想要的效果是 xxx@xcqbm.com,于是再进行如下配置:




以上,@ 表示直接配置主域名,即xcqbm.com。我们将记录值设置为 mail.xcqbm.com ,间接的把主域名也指向了我们的IP地址,这样就可以通过 xxx@xcqbm.com,来访问到我们的邮箱服务器了,

那为什么记录类型要配置成 MX 呢?

MX 是指 Mail eXchanger,是专用于邮箱服务的记录类型,该记录类型支持配置MX优先级,优先级数值越小表示优先级越高,假如你有多台服务器,那么你可以给他们配置不同的优先级,这样在解析时会优先分配优先级高的服务器对外提供服务,当优先级高的服务器出现故障时,再分配优先级低的服务器提供服务。
配置防火墙
通常云服务器为了自身安全考虑,不会将全部端口都对外开放,外部应用无法访问服务器未开放的端口,我们的邮箱服务器的协议,如 SMTP、POP3、IMAP 规定了使用的固定端口,因此我们需要在防火墙配置中,将这些端口对外开放

标准端口如下:

因为我只使用 SMTP、IMAP 协议,并且没有 SSL 证书,所以再额外开放 25、143 端口即可,如下:






hMailServer 安装&配置,hMailServer 可以在宝塔面板进行安装,也可以在网上搜一下,很多的

安装步骤就不详细介绍了,很简单


配置
运行 Administrative tools,会提示连接 Server,我们的 Server 就在本地,因此选择 localhost,如下:



点击 Connect,输入安装时设置的密码进行连接,




登录后也可以在这里设置中文


登录成功后,配置界面如下,我们先添加域名:
在常规中输入我们之前配置过的主域名:xcqbm.com,并保存




添加成功后,Domains 下会出现 xcqbm.com 目录,点击账号,进行账号添加:


输入邮箱地址、密码,并保存:


对新创建的邮箱设置自动回复,后续我们将用来测试邮箱服务器是否已经可以正确的收信、发信



另外,在邮件转发时,如果自身没有域名标识,邮件可能会被其他邮箱服务器拒收,因此我们还需要设置服务器域名,输入 mail.xcqbm.com 这也是我们前面在域名里配置过的

邮箱测试

经过上述操作,邮箱服务器已经配置好了,我们通过上面的自动回复功能,来测试邮箱服务器是否可以正确收发邮件


我先用自己的邮箱向刚刚搭建好的邮箱服务器发送邮件:

然后查看邮箱,是否收到自动回复,如上图。

同时,我们也可以看到,admin@xcqbm.com账号下邮件占用的空间增加了:



测试成功,一切正常。

配置邮箱客户端
我们前面的操作,配置的是邮箱服务器,现在呢,我们需要使用邮箱客户端来连接邮箱服务器,进而使用邮箱服务器提供的服务

这里我使用网易邮箱(移动端)进行配置,操作路径:设置 -> 邮箱管理 -> 添加邮箱 -> 手动配置,如下:




上面可以看到,我们又增加了两个域名:imap.xcqbm.com、smtp.xcqbm.com,分别表示收信、发信服务器的位置,因为我们只有一台服务器,且由它来提供 imap、smtp 服务,因此只需要在域名解析里添加两条相关记录指向该服务器即可:



点击完成,确认服务器配置,如果成功,可以看到如下页面,下面的一封未读邮件是刚刚进行收发测试时产生的:



到此为止,配置相关的教程全部结束。

可能出现的问题
邮件收发测试中,未收到回复
首先到邮箱账号页面看下,邮件存储是否增加,如果未变则表示邮箱服务器没收到邮件,因此也不会回复:
确认收到邮件之后,检查配置 自动回复 时,是否勾选了 自动过期:
因为自动过期的日期默认是今天,所以如果勾选,并且未改日期,相当于自动回复的功能在配置成功后又立马失效了,建议测试时不要勾选自动过期,避免不必要的麻烦
邮件收发测试中,仅收到过一次回复
仅第一次向 admin@xcqbm.com,发送邮件时得到回复,后续再发就不被回复。

这样的情况是正常合理的,因为自动回复的内容是固定的,多次重复回复相同的内容没有意义。在测试时,你可以用不同的邮箱账号向admin@xcqbm.com发送邮件,例如,我用 163 邮箱、QQ 邮箱,分别向其发送邮件,两者都仅在第一次时成功收到回复

或者,你可以在收到第一次回复后,再重新设置自动回复功能,这样你可以再收到一次自动回复

以上教程部分取自CSDN的作者tanleiDD
页: [1]
查看完整版本: 利用hMailServer搭建邮件服务器并进行DISCUZ后台邮件设置

创宇盾启航版免费网站防御网站加速服务