Eu executo um servidor de e-mail em um pequeno VPS executando docker-mail-server.
Estava funcionando perfeitamente até 2024-10-02, quando começou a rejeitar e-mails.
Renovei os certificados, embora eles tenham expirado em 15/10/2024 (duas semanas depois de parar de funcionar).
Sempre que recebo um e-mail, o seguinte rastreamento aparece no log (aqui um e-mail enviado do meu endereço protonmail):
NOQUEUE: reject: RCPT from unknown[185.70.43.21]: 450 4.1.8 <[email protected]>: Sender address rejected: Domain not found; from=<[email protected]> to=<contact@$MY_DOMAIN> proto=ESMTP helo=<mail-4321.protonmail.ch>
Interpretando isso como "Não sei qual é esse domínio, então rejeito o e-mail", executei dig protonmail.com
, o que deu uma saída correta:
; <<>> DiG 9.18.28-1~deb12u2-Debian <<>> protonmail.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12017
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;protonmail.com. IN A
;; ANSWER SECTION:
protonmail.com. 1200 IN A 185.70.42.12
;; Query time: 31 msec
;; SERVER: 213.186.33.99#53(213.186.33.99) (UDP)
;; WHEN: Thu Oct 10 17:32:34 UTC 2024
;; MSG SIZE rcvd: 59
Ping para protonmail.com também funciona. Alguma ideia de uma correção/solução alternativa para esse problema ou de onde ele pode estar vindo? Quero ter certeza de que não é um erro do usuário antes de abrir um problema no github.
EDIT: parece que o próprio contêiner não tem acesso à internet. Não consigo fazer ping em um domínio nem em um endereço IP. Aqui está o docker compose que estou usando:
services:
mailserver:
image: ghcr.io/docker-mailserver/docker-mailserver:latest
container_name: mailserver
# Provide the FQDN of your mail server here (Your DNS MX record should point to this value)
hostname: mail.$MY_DOMAIN.fr
env_file: mailserver.env
# More information about the mail-server ports:
# https://docker-mailserver.github.io/docker-mailserver/latest/config/security/understanding-the-ports/
ports:
- "143:143" # IMAP4 (explicit TLS => STARTTLS)
- "465:465" # ESMTP (implicit TLS)
- "587:587" # ESMTP (explicit TLS => STARTTLS)
- "993:993" # IMAP4 (implicit TLS)
- "25:25"
volumes:
- ./docker-data/dms/mail-data/:/var/mail/
- ./docker-data/dms/mail-state/:/var/mail-state/
- ./docker-data/dms/mail-logs/:/var/log/mail/
- ./docker-data/dms/config/:/tmp/docker-mailserver/
- /etc/localtime:/etc/localtime:ro
- /docker/vol/dms/cert:/var/cert
- /etc/letsencrypt:/etc/letsencrypt
restart: always
stop_grace_period: 1m
healthcheck:
test: "ss --listening --tcp | grep -P 'LISTEN.+:smtp' || exit 1"
timeout: 3s
retries: 0
Tentei criar uma rede externa e vincular o serviço a ela, mas não funcionou.