Why disable IPv6 breaks my email system
I was following Docker guide to install it on my Debian wheezy system, so I installed new kernel from wheezy-backports and by the way disabled ipv6 and then have a reboot.
Everything goes well except today I found that my fetchmail doesn’t work any longer. It complains in its log like below.
I’m wondering why it was trying to connect to localhost:smtp and got refused. Yes, apparently because there isn’t anyone listen at 127.0.0.1/25. From the last line, it seems that fetchmail first fetch mail from ZOHO and then try to delivering to local SMTP server.
So first, I’m trying to find my answer from Google, and then Bing.com because Google service is always stable in China. I’m lucky to find my answer that it’s true fetchmail will deliver email to local MTA once it fetched email.
And in addition, Exim4 is the default MTA in Debian wheezy, and I found that it’s not running now and it fail to start by:
And there is a paniclog in /var/log/exim4 says below
Apparently, it was trying to bind to a ipv6 address, ::1 is the local address in ipv6 just like 127.0.0.1 to ipv4. So there are two solutions:
- Enable IPv6 for loopback device, lo
- Ask exim4 do not trying to bind to local ipv6 address
I did the second by do
Do not change anything except one like below
Delete ::1 here and once it has done, exim4 restarted, and now just remove /var/log/exim4/paniclog to avoid ALERT from service exim4 start like below
OK, once exim4 started, fetchmail works fine!