XAMPP+hMailServer+Roundcube在Windows Server搭建邮箱系统


拥有域名和服务器前提下,基于XAMPP+hMailServer+Roundcube在Windows Server操作系统搭建邮箱服务!

前言

XAMPP: XAMPP 是一个免费且易于安装的集成开发环境(IDE),用于在本地开发和测试 Web 应用程序。它包含了 Apache 服务器、MySQL 数据库、PHP 和 Perl 解释器,以及其他常用的开发工具和组件。XAMPP 提供了一个完整的开发环境,使开发人员能够在本地进行 Web 应用程序的开发、测试和调试。

hMailServer: hMailServer 是一个免费的开源邮件服务器软件,用于在 Windows 平台上提供邮件服务。它支持 SMTP、POP3 和 IMAP 协议,并提供了管理和配置电子邮件账户、域名和邮件路由的功能。hMailServer 可以用于搭建自己的邮件服务器,用于发送和接收电子邮件。

Roundcube: Roundcube 是一个基于 Web 的邮件客户端,用于访问和管理电子邮件。它提供了一个直观和易于使用的界面,允许用户通过 Web 浏览器发送、接收和组织电子邮件。Roundcube 支持多种邮件协议,包括 IMAP 和 SMTP,可以与不同的邮件服务器集成使用。它具有强大的搜索、过滤和组织邮件的功能,支持多语言界面和插件扩展。

综合来说,XAMPP 是一个开发环境,用于在本地进行 Web 应用程序的开发和测试;hMailServer 是一个邮件服务器软件,用于搭建自己的邮件服务器;Roundcube 是一个 Web 邮件客户端,用于访问和管理电子邮件。这三者可以结合使用,例如在本地开发环境中搭建一个 Web 应用程序,同时使用 hMailServer 提供邮件服务,并使用 Roundcube 作为邮件客户端进行电子邮件的访问和管理。


一、域名


1.在腾讯云上购买域名:https://console.cloud.tencent.com/domain。假设拥有了一个域名:1234.com。

2.为域名添加解析,添加A记录和MX记录,其中1.2.3.4是第二步中的服务器IP。

在这里插入图片描述


二、服务器


1.在腾讯云上购买服务器:https://console.cloud.tencent.com/lighthouse,这里选择Window Server的操作系统。假设拥有了一个IP为1.2.3.4的服务器。


2.在服务器详情中点击管理规则,增加一条记录,开启25端口。



3.在服务器详情中点击管理域名,增加两条记录,使域名都直接接通服务器80端口。


三、登录服务器


1.在腾讯云上的站内信息中找到服务器的管理员账号和密码。


2.使用远程桌面连接到服务器。


3.后续操作都在服务器中进行。


四、安装XAMPP


1.进入XAMPP官网下载:https://www.apachefriends.org/,按照安装程序的指示进行安装,选择安装 Apache、MySQL 和 PHP。

2.安装完成后,启动 XAMPP 控制面板,然后启动 Apache 和 MySQL 服务,确保它们正常运行。


五、安装hMailServer


1.进入hMailServer官网下载:https://www.hmailserver.com/download,按照安装程序的指示逐步进行安装。

2.安装过程选择外部数据库引擎。


3.中途还需要设置hMailServer的管理员密码,自行设置并牢记。


4.然后会进行到数据库设置,选择第一项,创建数据库。
在这里插入图片描述

5.数据库类型选择MySQL。


6.按下图配置数据库连接,所连接的是XAMPP的数据库,默认是没有密码的。


7.如果提示缺少libmysql.dll,则进入到MySQL的官网中https://downloads.mysql.com/archives/c-c/下载mysql-connector-c-6.1.11-win32.zip,解压其中的libmysql.dll到hMailServer的bin目录下,再次点击Next即可安装成功。




8.点击hMailAdmin.exe打开管理页面,在左侧导航栏中,选择 “Domains”,点击右键,选择 “Add…” 添加一个新的域名,例如1234.com。在 “Accounts” 下添加邮箱账户,设置用户名和密码,例如用户名[email protected],密码1234。


六、安装Roundcube


1.进入Roundcube官网下载完全版压缩包:https://roundcube.net/download/,目前最新版本是1.6.2。

2.将压缩包解压至XAMPP的部署目录C:\xampp\htdocs,并重命名文件夹为webmail。

3.在XAMPP程序中点击MySQL的Admin按钮进入数据库管理页面,在里面新增数据库webmail,并导入sql文件初始化数据库。




4.进入webmail的config文件夹,将config.inc.php.sample复制一份命名为config.inc.php,并使用记事本打开config.inc.php。



5.修改config.inc.php配置文件。
将下列配置:

$config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';

更改为:

$config['db_dsnw'] = 'mysql://root:@localhost/webmail';

七、添加SSL/TLS证书


1.使用Certbot来获取Let’s Encrypt的SSL/TLS证书,可以通过官网https://certbot.eff.org/下载和安装Window版本的安装包,默认安装目录是C:\Program Files\Certbot。


2.打开CMD输入以下命令,然后根据提示逐步完成证书的安装,期间需要输入域名1234.com以及www.1234.com,还输入webroot的位置,也就是web根目录:C:\xampp\htdocs\webmail。

cd C:\Program Files\Certbot\bin
certbot certonly --webroot

证书生成的位置一般是:
C:\Certbot\live\1234.com\fullchain.pem
C:\Certbot\live\1234.com\privkey.pem


3.修改Apache的httpd-vhosts.conf文件,文件在C:\xampp\apache\conf\extra中,将其完全修改为以下内容然后保存。

<VirtualHost *:80>
    ServerName 1234.com
    ServerAlias  www.1234.com
    DocumentRoot "C:\xampp\htdocs\webmail"
    Redirect permanent / https://www.1234.com/
</VirtualHost>

<VirtualHost *:443>
    ServerName 1234.com
    ServerAlias  www.1234.com
    DocumentRoot "C:\xampp\htdocs\webmail"
    SSLEngine on
    SSLCertificateKeyFile "C:\Certbot\live\1234.com\privkey.pem"
    SSLCertificateFile "C:\Certbot\live\1234.com\fullchain.pem"
</VirtualHost>

八、登录邮箱


1.在XAMPP程序中重新启动一下Apache和MySQL。

2.在浏览器输入https://1234.com或者https://www.1234.com即可进入登录页面,然后使用hMailServer中创建的邮箱账户登录邮箱。




提示


  1. 在搭建邮箱系统时,出于安全考虑,请务必为数据库设置高强度密码。
  2. 该方法适用于搭建开发环境,方便开发、调试和测试等,并不适用于真正的生产环境。
  3. 使用Flask快速编写一个admin页面来调用hMailServer应用接口实现邮箱增删改查,需要配合Apache反向代理。
  4. 国内云服务器提供商基本封禁25端口的出口,所以该系统只能用于收信,发信的话要向提供商申请25端口解禁。

至此教程结束

有错误或者改进的地方请各位积极指出!

猜你喜欢

转载自blog.csdn.net/embracestar/article/details/131750110