首先,我遵循了这封信的指南:https://www.davd.eu/byecloud-building-a-mailserver-with-modern-webmail/
我正在尝试为服务器创建一个邮件服务器,但是我认为我应该先在本地测试上述实现。确保至少可以启动并运行所有内容,以便在尝试在服务器上之前可以查看期望的内容。这是我所做的:
version: "3"
services:
rainloop:
image: hardware/rainloop
links:
- mail
volumes:
- ./data/rainloop:/rainloop/data
mail:
image: tvial/docker-mailserver:latest
restart: always
hostname: mail
domainname: fancydomain.tld
container_name: mail
ports:
- "25:25"
- "143:143"
- "587:587"
- "993:993"
- "4190:4190"
volumes:
- ./data/mail/data:/var/mail
- ./data/mail/state:/var/mail-state
- ./mail/config:/tmp/docker-mailserver/
- ./data/entry/acme/acme-v01.api.letsencrypt.org/sites/mail.fancydomain.tld:/tmp/ssl:ro
environment:
- ENABLE_SPAMASSASSIN=1
- ENABLE_CLAMAV=1
- ENABLE_FAIL2BAN=1
- ENABLE_POSTGREY=1
- ONE_DIR=1
- DMS_DEBUG=0
- ENABLE_MANAGESIEVE=1
cap_add:
- NET_ADMIN
entry:
image: abiosoft/caddy:0.10.4
restart: always
privileged: true
links:
- rainloop
ports:
- "80:80"
- "443:443"
volumes:
- ./entry/Caddyfile:/etc/Caddyfile
- ./data/entry:/root/.caddy
这个“docker-compose.yml”与前面提到的站点提供的存在一个小的差异。我所做的就是按照指南的指示,删除仅在本地运行的环境变量,并以“SSL_”为前缀。
http://mail.fancydomain.tld {
proxy / rainloop:8888 {
transparent
}
}
同样,与网站上提供的内容仅相差很小。出于与步骤2相同的原因,我在域名前加上了“http://”前缀。
docker-compose up -d
curl -o setup.sh https://raw.githubusercontent.com/tomav/docker-mailserver/master/setup.sh; chmod a+x ./setup.sh
获得安装脚本。 ./setup.sh email add [email protected] fancypassword
,再次最小化了更改以保持跟踪。 ./setup.sh config dkim
设置了DKIM记录,但是我没有进一步处理这些记录...因为我不确定在本地如何处理这些记录。 Name: fancydomain.tld
IMAP
Server: mail
Port: 143
Secure: STARTTLS
SMTP
Server: mail
Port: 587
Secure: STARTTLS
Use short login: Checked
Use authentication: Checked
SIEVE
Allow sieve scripts: Checked
Server: mail
Port: 4190
Secure: STARTTLS
这是我得到错误的地方:“无法连接到服务器”
我不确定从这里要去哪里。我根本不知道如何解决问题。请问我应该做些什么来排除故障并弄清楚错误出在哪里,可以帮忙吗?
谢谢!
18/07/01更新:所以...我在“/ etc / hosts”中添加了“127.0.0.1邮件”,它可以正常工作! RainLoop现在可以连接到我的邮件服务器!但是,这提出了一个新问题。对于步骤9,我尝试使用“mail.fancydomain.tld”代替三个“服务器”字段的“邮件”,并且根据测试,连接被拒绝。为什么拒绝整个域而不是短域的连接?
最佳答案
该解决方案可以确保RainLoop和Mail这两个容器共享一个桥接网络。然后,所有配置可以保持不变。