前言

  • 假设你已经拥有了一台具有公网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 使用教程 —— 手把手教你搭建自己的邮箱服务器相关推荐

  1. 云服务器架设网站教程_手把手教你搭建腾讯云服务器入门(图文教程)

    本文由博主 威威喵 原创 博客主页:https://blog.csdn.net/smile_running 背景 暑假期间,愁着无聊但也不能荒废学业吧,毕竟以后想靠技术混口饭吃!为了实施自己的计划,特 ...

  2. 手把手教你搭建腾讯云服务器

    手把手教你搭建腾讯云服务器(图文并茂) 威威貓 2019-03-28 08:10:28  58357  收藏 162 分类专栏: 杂七杂八 文章标签: 服务器搭建 腾讯云服务器 云服务器环境配置 新手 ...

  3. 阿里云服务器使用教程手把手教你搭建网站by阿里云服务器

    阿里云服务器使用教程是用户比较关心的问题,其实很简单,阿里云百科告诉大家如何使用云服务器ECS,如何使用阿里云服务器搭建网站,从服务器购买到网站上线一站式教程: 阿里云服务器购买方面,阿里云百科建议大 ...

  4. 手把手教你搭建腾讯云服务器(图文并茂)

    博主声明: 转载请在开头附加本文链接及作者信息,并标记为转载.本文由博主 威威喵 原创,请多支持与指教. 本文首发于此   博主:威威喵  |  博客主页:https://blog.csdn.net/ ...

  5. 手把手教!搭建自己的免费服务器

    最近总是想搭建自己的网站,奈何皮夹里空空如也,服务器也租不起,更别说域名了.于是我就寻思能否自己搭建个服务器,还不要钱呢? 还真行!!! 经过几天的冲浪,我发现有两个免费的建站工具:Apache 和 ...

  6. 保姆级教程:手把手教你搭建个人网站

    保姆级教程:手把手教你搭建个人网站 前言 准备与搭建 1.Git管理工具的下载与安装 2.nodejs环境安装 3.hexo博客框架下载 npm换国内源 使用npm下载hexo博客框架 初始化mybl ...

  7. 镜播无人直播带货教程,手把手教你如何搭建直播间

    镜播无人直播带货新手教程,手把手教你如何搭建直播间 如果你一个人在家里面直播,没有直播中控来辅助你一个情况下怎么办?来教你一个什么叫做镜播.用镜子来做一个直播的辅助.在你的面前放一面镜子,下面是产品, ...

  8. 手把手教你搭建属于自己的技术博客(小白教程)

    手把手教你搭建属于自己的技术博客 先放上我自己搭建的博客地址 https://sourl.cn/Tbk7yt 这里我使用的是 Hexo 框架 以及 Github pages 进行的搭建 文章目录 手把 ...

  9. Python学习教程:手把手教你搭建自己的量化分析数据库

    Python学习教程:手把手教你搭建自己的量化分析数据库 引言: 数据是金融量化分析的重要基础,包括股票历史交易数据.上市公司基本面数据.宏观和行业数据等.随着信息流量的日益膨胀,学会获取.查询和加工 ...

最新文章

  1. python format 格式化函数的用法 格式化字符串(保留小数{:.2f}、数字补零)
  2. Aria2 使用手札
  3. 重磅!SCI顶级牛刊《Science》合集(2018~2020年度)
  4. 排序算法之——选择排序
  5. MyBatis 传递多个参数
  6. AngularJS之中级Route【二】(七)
  7. 修改mysql数据库编码(5.7版本)
  8. the railway problem(the example of stack)
  9. NGUI混合FingerGesture《卷二》分离触摸事件
  10. 虚幻引擎图文笔记:导入FBX骨骼动画(附官方FBX模型下载)
  11. 毕设无忧|单片机类毕设论文模板
  12. ios崩溃日志收集_漫谈iOS Crash收集框架
  13. echarts饼图 外圈转动动画 pie
  14. 根据State筛选数据表格
  15. redis主从配置(一主多从)
  16. Java SpringBoot Rest请求Post传实体类接收不到值的问题
  17. linux文件系统使用和管理,Linux磁盘使用及文件系统管理
  18. Go(上):go基础 续
  19. androidstudio连接网易MUMU模拟器
  20. 网络安全渗透测试实验一

热门文章

  1. 全文检索系统技术架构及流程说明
  2. pyecharts绘制省级地图(Map地图、Geo动态涟漪散点图、Geo动态轨迹图)
  3. 算法题(六十二)头条2017年笔试题——头条校招
  4. org.hibernate.TransientObjectException:The given object has a null identifier
  5. springboot项目启动报错:The web application [ROOT] appears to have started a thread named [xx] but has fai
  6. 微信整合CRM系统的好处
  7. Linova and Kingdom
  8. 怎么恢复相机格式化的照片?
  9. mysql怎么做库存管理_电商中的库存管理实现-mysql与redis
  10. 华为手机设置信息服务器地址,手机设置里服务云服务器地址