3.6 KiB
Docker Mailserver
docker-mailserver,简称 DMS,是一个可用于生产的全栈但简单的邮件服务器(SMTP、IMAP、LDAP、反垃圾邮件、反病毒等)。它只使用配置文件,不使用 SQL 数据库。其形象以 "保持简单和版本化 "为口号。
前置准备
域名
DNS 解析
服务器
Docker
服务推荐配置
: 1核2G内存 容器已启用交换功能最小配置
: 1核512M内存 (禁用 ClamAV 服务)
DNS 配置
假设你的域名是 example.com
邮件服务器的完全限定域名 (FQDN) 是 mail.example.com,你需要配置以下记录:
A
记录:mail.example.com
指向你的服务器 IP 地址- MX 记录告诉每个人哪个 (DNS) 名称负责您域中的电子邮件。
MX
记录:example.com
指向mail.example.com
- A 记录告诉每个人 DNS 名称
PTR
记录(可选): 你的服务器 IP 地址指向mail.example.com
- PTR 记录是 A 记录的对应记录
当然,您也可以完全在 example.com 上配置,您需要更改您的 MX 记录:
MX
记录:example.com
指向example.com
A
记录:example.com
指向您的服务器 IP 地址
什么是 PTR 记录?请参阅
此项服务在 DNS 解析商中可能存在收费,如您不想使用此项服务,可以不配置 PTR 记录。
证书准备
您需要一个有效的 SSL 证书,您可以使用 Let's Encrypt
或者其他证书颁发机构颁发的证书。
将证书文件放置在 持久化目录的 certs
目录下,文件名为 public.crt
和 private.key
。
端口占用检查
25
SMTP 端口
netstat -tuln | grep 25
停止Linux 邮件服务 postfix
服务, 释放 25 端口, 避免端口占用。
systemctl status postfix.service
systemctl stop postfix.service
systemctl disable postfix.service
安装完成
首次启动至少要添加一个账户,您有两分钟的时间来执行此操作。请在容器终端中运行以下命令。
如果您错过了这个时间,您可以通过删除容器并重新启动来重新启动此过程。
创建 用户
setup email add <NEW ADDRESS>
setup email add user@example.com
设置别名
setup alias add <ALIAS> <EMAIL>
setup alias add postmaster@example.com user@example.com
更新证书
将证书文件放置在 持久化目录的 certs
目录下,文件名为 public.crt
和 private.key
。
重启容器,即可更新证书。
通过 中继服务器 发送邮件
如果您的 ISP 阻止了 25 端口,您可以使用中继服务器发送邮件。
SMTP 中继主机
配置
常见的 SMTP 服务器配置如下:
Gmail
:smtp.gmail.com
QQ
:smtp.qq.com
163
:smtp.163.com
126
:smtp.126.com
SMTP 中继端口
配置
常见的 SMTP 服务器端口配置如下:
Gmail
:587
QQ
:465
163
:465
126
:465
25
通常也可以使用
SMTP 中继用户名
配置
常见的 SMTP 服务器用户名配置如下:
Gmail
:邮箱地址
QQ
:qq账户
163
:邮箱地址
126
:邮箱地址
SMTP 中继密码
配置
常见的 SMTP 服务器密码配置如下:
授权码
是指在邮箱设置中生成的授权码,不是邮箱密码。
应用密码
是指在邮箱设置中生成的应用密码,不是邮箱密码。
Gmail
:应用密码
QQ
:授权码
163
:授权码
126
:授权码