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.后续操作都在服务器中进行。
1.进入XAMPP官网下载:https://www.apachefriends.org/,按照安装程序的指示进行安装,选择安装 Apache、MySQL 和 PHP。
2.安装完成后,启动 XAMPP 控制面板,然后启动 Apache 和 MySQL 服务,确保它们正常运行。
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” 下添加邮箱账户,设置用户名和密码,例如用户名abcd@1234.com,密码1234。
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';
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 / <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中创建的邮箱账户登录邮箱。
在搭建邮箱系统时,出于安全考虑,请务必为数据库设置高强度密码。
该方法适用于搭建开发环境,方便开发、调试和测试等,并不适用于真正的生产环境。
使用Flask快速编写一个admin页面来调用hMailServer应用接口实现邮箱增删改查,需要配合Apache反向代理。
国内云服务器提供商基本封禁25端口的出口,所以该系统只能用于收信,发信的话要向提供商申请25端口解禁。