
zixia/simple-mail-forwarder最简单、最小巧的Docker邮件转发服务。
如果你拥有域名,只需要在该域名上设置一个(或几个)电子邮件地址,并希望将所有邮件转发到另一个电子邮件账户,那么Simple Mail Forwarder (SMF) 正是你所需要的(基于Docker)。
由于上述需求,这个Docker镜像被构建为极致简洁的解决方案。适用于需要为多个域名配置简单邮件转发,但又不想复杂配置邮件服务器的场景。
@Brian Christner : 在测试了大量不同的邮件项目后,我终于发现了Huan开发的Simple Mail Forwarder (SMF)。这个镜像基于Alpine,这已经是一个优点。它非常小巧,正如其名,易于使用。
@kiani: 成功搭建了邮件服务器,真的就这么简单。
@counterbeing: 很棒的镜像。界面非常简单,包含了我需要的所有功能。
只需设置SMF_CONFIG并运行:
bashexport SMF_CONFIG='***:***:test' docker run -e SMF_CONFIG -p 25:25 zixia/simple-mail-forwarder
不要忘记修改域名的DNS MX记录(在这个例子中是testo.com)
这将把发送到的所有邮件转发到。
如果你想将发送到testo.com域的所有邮件转发到***,可以这样设置:
bashexport SMF_CONFIG='@testo.com:***'
如果你想在后台持续运行,添加
-t -d --restart=always参数:bashdocker run -t -d --restart=always -e SMF_CONFIG -p 25:25 zixia/simple-mail-forwarder
-t: 分配伪终端-d: 后台模式--restart=always: 自动重启容器
SMF_CONFIG: 必须定义,无默认值。(这是唯一需要设置的参数)TZ: (可选)设置时区,例如EST5EDT或Europe/RomeSMF_CONFIG示例将发送到的所有邮件转发到:
bashexport SMF_CONFIG='***:***'
将发送到testo.com域中任何电子邮件地址的邮件转发到***:
bashexport SMF_CONFIG='@testo.com:***'
添加ESMTP AUTH密码:
bashexport SMF_CONFIG='***:***:ThisIsPassword'
添加多个电子邮件账户,带或不带密码,用分号分隔:
bashexport SMF_CONFIG='***:***:ThisIsPassword;***:***:AnotherPassword'
你也可以将发送到***的邮件转发到多个目标地址:
bashexport SMF_CONFIG='***:*********'
SMF_RELAYHOST示例配置中继主机/智能主机用于转发邮件:
bashexport SMF_RELAYHOST='192.168.1.2'
SMF_RELAYAUTH示例如果SMF_RELAYHOST需要身份验证:
bashexport SMF_RELAYAUTH='***:RelayHostPassword'
SMF启动时会创建自己的证书和私钥。此证书是自签名的,因此某些系统可能会发出服务器不受信任的警告。
如果你拥有主机域名的有效证书,可以使用它们来避免不受信任的警告:
smtp.cert的文件中,将私钥复制到名为smtp.key的文件中/data/certs/-v参数将其挂载到/etc/postfix/cert/文件夹:bashdocker run -e SMF_CONFIG -p 25:25 -v /data/certs/:/etc/postfix/cert/ zixia/simple-mail-forwarder
SMF将为$SMF_DOMAIN和SMF_CONFIG中包含的所有源域生成私钥/公钥对。所有密钥将存储在/var/db/dkim/<domain.tld>/中。
强烈建议将/var/db/dkim/文件夹挂载到主机,以免生成的密钥对丢失或重新生成:
bashdocker run -e SMF_CONFIG -p 25:25 -v $(pwd)/dkim:/var/db/dkim/ zixia/simple-mail-forwarder
当定义了SMF_SENDERPRIVACY环境变量时,SMF将剥离发件人的IP、客户端和用户代理头。
SMF允许使用环境变量添加或更改Postfix的main.cf和master.cf配置文件中的行:
SMF_POSTFIXMAIN_*变量将编辑Postfix的main.cf条目。
SMF_POSTFIXMAIN_选项名=值SMF_POSTFIXMAIN_soft_bounce=yes将添加soft_bounce=yes选项。SMF_POSTFIXMASTER_*变量将编辑Postfix的master.cf。
SMF_POSTFIXMASTER_服务__类型__参数名=值SMF_POSTFIXMASTER_submission__inet__smtpd__recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject使用BATS(Bash Automated Testing System)进行测试:
bashdocker run zixia/simple-mail-forwarder test
bashdocker run -d --name smf \n -e SMF_CONFIG='***:***' \n -p 25:25 \n --restart=always \n zixia/simple-mail-forwarder
bashdocker run -d --name smf \n -e SMF_CONFIG='@example.com:***' \n -e TZ='Asia/Shanghai' \n -p 25:25 \n -v /path/to/certs:/etc/postfix/cert \n -v /path/to/dkim:/var/db/dkim \n --restart=always \n zixia/simple-mail-forwarder
yamlversion: '3' services: smf: image: zixia/simple-mail-forwarder container_name: smf restart: always environment: - SMF_CONFIG=@example.com:*** - TZ=Asia/Shanghai ports: - "25:25" volumes: - ./certs:/etc/postfix/cert - ./dkim:/var/db/dkim


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务