Please contribute your solutions to help the community
You may find it useful to set
LOG_LEVEL environment variable.
Shell into the container:
docker exec -it <my-container> bash
Check log files in
/var/log/mailcould not find any mention of incorrect logins here neither in the dovecot logs.
Check the supervisors logs in
/var/log/supervisor. You can find the logs for startup of fetchmail, postfix and others here - they might indicate problems during startup.
Make sure you set your hostname to
docker-compose.ymlfile or else your FQDN will be wrong.
During setup, if you get errors trying to edit files inside of the container, you likely need to install
sudo su docker exec -it <my-container> apt-get install -y vim
I spent HOURS trying to debug "Connection Refused" and "Connection closed by foreign host" errors when trying to use telnet to troubleshoot my connection. I was also trying to connect from my email client (macOS mail) around the same time. Telnet had also worked earlier, so I was extremely confused as to why it suddenly stopped working. I stumbled upon
fail2ban.log in my container. In short, when trying to get my macOS client working, I exceeded the number of failed login attempts and fail2ban put dovecot and postfix in jail! I got around it by whitelisting my ipaddresses (my ec2 instance and my local computer)
sudo su docker exec -it mailserver bash cd /var/log cat fail2ban.log | grep dovecot # Whitelist IP addresses: fail2ban-client set dovecot addignoreip <server ip> # Server fail2ban-client set postfix addignoreip <server ip> fail2ban-client set dovecot addignoreip <client ip> # Client fail2ban-client set postfix addignoreip <client ip> # This will delete the jails entirely - nuclear option fail2ban-client stop dovecot fail2ban-client stop postfix
Some hosting provides have a stealth block on port 25. Make sure to check with your hosting provider that traffic on port 25 is allowed
Common hosting providers known to have this issue: