hMailServer 使用教程 —— 手把手教你搭建自己的邮箱服务器
前言
- 假设你已经拥有了一台具有
公网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.tanleidd.fit
指向我的服务器 ip:152.136.133.52
,这种由域名直接指向具体ip的记录类型,我们称为 A 记录
,如下:
然后我们可以通过一些在线 DNS 解析的网站服务,来测试刚刚配置的记录是否生效,通常是立即生效,如下:
配置 MX 记录
邮箱地址格式通常是:用户名@邮箱服务器域名
,例如: tanleidd@163.com
,通过对 163.com
进行 DNS 解析,就可以得到邮箱服务器 ip,如下:
上一步我们对 mail.tanleidd.fit 进行了配置,如果直接使用它的话,邮箱地址就成了:xxx@mail.tanleidd.fit
,这样不够简洁,我们想要的效果是 xxx@tanleidd.fit
,于是再进行如下配置:
以上,@
表示直接配置主域名,即 tanleidd.fit。我们将记录值设置为 mail.tanleidd.fit ,间接的把主域名也指向了 152.136.133.52,这样就可以通过 xxx@tanleidd.fit
,来访问到我们的邮箱服务器了,如下:
那为什么记录类型要配置成
MX
呢?
MX 是指
Mail eXchanger
,是专用于邮箱服务的记录类型,该记录类型支持配置MX优先级,优先级数值越小表示优先级越高,假如你有多台服务器,那么你可以给他们配置不同的优先级,这样在解析时会优先分配优先级高的服务器对外提供服务,当优先级高的服务器出现故障时,再分配优先级低的服务器提供服务。例如:
示意图如下:
由于我自己只有一台服务器,就不需要进行上面这么复杂的配置了,如下:
示意图如下:
配置防火墙
通常云服务器为了自身安全考虑,不会将全部端口都对外开放,外部应用无法访问服务器未开放的端口,我们的邮箱服务器的协议,如 SMTP、POP3、IMAP 规定了使用的固定端口,因此我们需要在防火墙配置中,将这些端口对外开放
标准端口如下:
因为我只使用 SMTP、IMAP 协议,并且没有 SSL 证书,所以再额外开放 25、143 端口即可,如下:
hMailServer 安装&配置
下载
前往官方下载页,下载最新版本:
安装
双击文件进行安装,这里仅对关键步骤截图解释:
以上,选择 Full installation,即包括 Server、Administrative tools,前者 Server 是邮箱系统的核心实现,后者 Administrative tools 是前者的管理工具,提供了对前者的配置界面,Next >.
首次安装时会要求设置 Server 的密码,用于以后连接、管理 Server,如下:
配置
运行 Administrative tools,会提示连接 Server,我们的 Server 就在本地,因此选择 localhost,如下:
点击 Connect,输入安装时设置的密码进行连接,如下:
登录成功后,配置界面如下,我们先添加域名:
在 Domain 中输入我们之前配置过的主域名:tanleidd.fit
,并保存
添加成功后,Domains 下会出现 tanleidd.fit 目录,点击 Accounts,进行添加:
输入邮箱地址、密码,并保存:
对新创建的邮箱设置自动回复,后续我们将用来测试邮箱服务器是否已经可以正确的收信、发信
另外,在邮件转发时,如果自身没有域名标识,邮件可能会被其他邮箱服务器拒收,因此我们还需要设置服务器域名,输入 mail.tanleidd.fit
这也是我们前面在域名里配置过的
邮箱测试
经过上述操作,邮箱服务器已经配置好了,我们通过上面的自动回复
功能,来测试邮箱服务器是否可以正确收发邮件
我先用自己的网易邮箱向刚刚搭建好的邮箱服务器发送邮件:
然后查看网易邮箱,是否收到自动回复,如下:
同时,我们也可以看到,test@tanleidd.fit
账号下邮件占用的空间增加了:
测试成功,一切正常。
配置邮箱客户端
我们前面的操作,配置的是邮箱服务器,现在呢,我们需要使用邮箱客户端来连接邮箱服务器,进而使用邮箱服务器提供的服务
这里我使用网易邮箱(移动端)
进行配置,操作路径:设置 -> 邮箱管理 -> 添加邮箱 -> 手动配置,如下:
上面可以看到,我们又增加了两个域名:imap.tanleidd.fit、smtp.tanleidd.fit,分别表示收信、发信服务器的位置,因为我们只有一台服务器,且由它来提供 imap、smtp 服务,因此只需要在域名解析里添加两条相关记录指向该服务器即可:
点击完成,确认服务器配置,如果成功,可以看到如下页面,下面的一封未读邮件是刚刚进行收发测试时产生的:
到此为止,配置相关的教程全部结束。
可能出现的问题
邮件收发测试中,未收到回复
首先到邮箱账号页面看下,邮件存储是否增加,如果未变则表示邮箱服务器没收到邮件,因此也不会回复:
确认收到邮件之后,检查配置 自动回复 时,是否勾选了 自动过期
:
因为自动过期的日期默认是今天,所以如果勾选,并且未改日期,相当于自动回复的功能在配置成功后又立马失效了,建议测试时不要勾选自动过期
,避免不必要的麻烦
邮件收发测试中,仅收到过一次回复
仅第一次向 test@tanleidd.fit
,发送邮件时得到回复,后续再发就不被回复。
这样的情况是正常合理的,因为自动回复的内容是固定的,多次重复回复相同的内容没有意义。在测试时,你可以用不同的邮箱账号向 test@tanleidd.fit
发送邮件,例如,我用 163 邮箱、QQ 邮箱,分别向其发送邮件,两者都仅在第一次时成功收到回复
或者,你可以在收到第一次回复后,再重新设置自动回复功能,这样你可以再收到一次自动回复
hMailServer 使用教程 —— 手把手教你搭建自己的邮箱服务器相关推荐
- 云服务器架设网站教程_手把手教你搭建腾讯云服务器入门(图文教程)
本文由博主 威威喵 原创 博客主页:https://blog.csdn.net/smile_running 背景 暑假期间,愁着无聊但也不能荒废学业吧,毕竟以后想靠技术混口饭吃!为了实施自己的计划,特 ...
- 手把手教你搭建腾讯云服务器
手把手教你搭建腾讯云服务器(图文并茂) 威威貓 2019-03-28 08:10:28 58357 收藏 162 分类专栏: 杂七杂八 文章标签: 服务器搭建 腾讯云服务器 云服务器环境配置 新手 ...
- 阿里云服务器使用教程手把手教你搭建网站by阿里云服务器
阿里云服务器使用教程是用户比较关心的问题,其实很简单,阿里云百科告诉大家如何使用云服务器ECS,如何使用阿里云服务器搭建网站,从服务器购买到网站上线一站式教程: 阿里云服务器购买方面,阿里云百科建议大 ...
- 手把手教你搭建腾讯云服务器(图文并茂)
博主声明: 转载请在开头附加本文链接及作者信息,并标记为转载.本文由博主 威威喵 原创,请多支持与指教. 本文首发于此 博主:威威喵 | 博客主页:https://blog.csdn.net/ ...
- 手把手教!搭建自己的免费服务器
最近总是想搭建自己的网站,奈何皮夹里空空如也,服务器也租不起,更别说域名了.于是我就寻思能否自己搭建个服务器,还不要钱呢? 还真行!!! 经过几天的冲浪,我发现有两个免费的建站工具:Apache 和 ...
- 保姆级教程:手把手教你搭建个人网站
保姆级教程:手把手教你搭建个人网站 前言 准备与搭建 1.Git管理工具的下载与安装 2.nodejs环境安装 3.hexo博客框架下载 npm换国内源 使用npm下载hexo博客框架 初始化mybl ...
- 镜播无人直播带货教程,手把手教你如何搭建直播间
镜播无人直播带货新手教程,手把手教你如何搭建直播间 如果你一个人在家里面直播,没有直播中控来辅助你一个情况下怎么办?来教你一个什么叫做镜播.用镜子来做一个直播的辅助.在你的面前放一面镜子,下面是产品, ...
- 手把手教你搭建属于自己的技术博客(小白教程)
手把手教你搭建属于自己的技术博客 先放上我自己搭建的博客地址 https://sourl.cn/Tbk7yt 这里我使用的是 Hexo 框架 以及 Github pages 进行的搭建 文章目录 手把 ...
- Python学习教程:手把手教你搭建自己的量化分析数据库
Python学习教程:手把手教你搭建自己的量化分析数据库 引言: 数据是金融量化分析的重要基础,包括股票历史交易数据.上市公司基本面数据.宏观和行业数据等.随着信息流量的日益膨胀,学会获取.查询和加工 ...
最新文章
- python format 格式化函数的用法 格式化字符串(保留小数{:.2f}、数字补零)
- Aria2 使用手札
- 重磅!SCI顶级牛刊《Science》合集(2018~2020年度)
- 排序算法之——选择排序
- MyBatis 传递多个参数
- AngularJS之中级Route【二】(七)
- 修改mysql数据库编码(5.7版本)
- the railway problem(the example of stack)
- NGUI混合FingerGesture《卷二》分离触摸事件
- 虚幻引擎图文笔记:导入FBX骨骼动画(附官方FBX模型下载)
- 毕设无忧|单片机类毕设论文模板
- ios崩溃日志收集_漫谈iOS Crash收集框架
- echarts饼图 外圈转动动画 pie
- 根据State筛选数据表格
- redis主从配置(一主多从)
- Java SpringBoot Rest请求Post传实体类接收不到值的问题
- linux文件系统使用和管理,Linux磁盘使用及文件系统管理
- Go(上):go基础 续
- androidstudio连接网易MUMU模拟器
- 网络安全渗透测试实验一
热门文章
- 全文检索系统技术架构及流程说明
- pyecharts绘制省级地图(Map地图、Geo动态涟漪散点图、Geo动态轨迹图)
- 算法题(六十二)头条2017年笔试题——头条校招
- org.hibernate.TransientObjectException:The given object has a null identifier
- springboot项目启动报错:The web application [ROOT] appears to have started a thread named [xx] but has fai
- 微信整合CRM系统的好处
- Linova and Kingdom
- 怎么恢复相机格式化的照片?
- mysql怎么做库存管理_电商中的库存管理实现-mysql与redis
- 华为手机设置信息服务器地址,手机设置里服务云服务器地址