要在局域网环境下搭建一个可供访问的邮箱服务器,并通过 Web 界面进行邮件收发,你可以按照以下步骤进行配置。这次我们简化一些设置,专注于局域网使用,跳过外网安全配置部分。使用 Postfix 作为邮件服务器,Dovecot 处理 IMAP/POP3,Roundcube 作为 Webmail 客户端。
1. 准备工作
确保你的服务器或局域网内的机器已经安装了 Docker 和 Docker Compose。
Ubuntu/CentOS 环境下安装 Docker 和 Docker Compose:
Ubuntu:
sudo apt update
sudo apt install docker.io docker-compose
sudo systemctl start docker
sudo systemctl enable docker
CentOS:
sudo yum install docker docker-compose
sudo systemctl start docker
sudo systemctl enable docker
2. 创建项目目录
创建一个新目录来存放邮箱服务器相关配置:
mkdir lan-mailserver
cd lan-mailserver
3. 创建 Docker Compose 文件
在
lan-mailserver
目录下创建一个docker-compose.yml
文件,内容如下:version: '3'
services:
mailserver:
image: mailserver/docker-mailserver:latest
container_name: mailserver
ports:
"25:25" # SMTP
"143:143" # IMAP
"587:587" # SMTP (starttls)
"993:993" # IMAPS
environment:
[email protected]
MAIL_PASS=password
volumes:
maildata:/var/mail
mailstate:/var/mail-state
maillogs:/var/log/mail
roundcube:
image: roundcube/roundcubemail:latest
container_name: roundcube
ports:
"8080:80" # Webmail访问端口(局域网内使用)
environment:
ROUNDCUBEMAIL_DEFAULT_HOST=mailserver
ROUNDCUBEMAIL_SMTP_SERVER=mailserver
depends_on:
mailserver
volumes:
maildata:
mailstate:
maillogs:
-
Postfix & Dovecot: 配置为局域网邮件服务器。
-
Roundcube: 提供 Web 界面,通过
8080
端口访问。
4. 启动服务
在 lan-mailserver
目录下运行以下命令启动服务:
docker-compose up -d
5. 配置邮件用户
通过 Docker 命令行添加用户。假设你想添加一个
[email protected]
用户:docker exec -it mailserver setup email add user1@local.lan password123
6. 局域网内访问 Webmail
确保局域网内的设备可以访问运行 Docker 服务的机器 IP。在浏览器中访问以下地址:
http://<你的服务器IP>:8080
例如,如果你的服务器 IP 是
192.168.1.100
,那么你可以在浏览器中输入http://192.168.1.100:8080
进行访问。使用之前设置的邮箱账号(例如
[email protected]
)和密码password123
登录 Webmail 界面。7. 测试邮件发送与接收
登录 Roundcube Webmail 后,你可以测试在局域网内发送和接收邮件。如果其他局域网设备也有配置邮件账户,你可以相互发送邮件进行测试。
8. 注意事项
-
主机名和域名: 局域网内不需要配置 DNS,
local.lan
作为本地域名使用即可。你可以通过/etc/hosts
文件来为服务器配置静态主机名。 -
防火墙: 确保 Docker 容器的端口(25, 143, 587, 993, 8080)在你的服务器防火墙和局域网设置中是开放的。
原文始发于微信公众号(云梦安全):在局域网搭建一个邮服测试,不需要域名
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论