Andrew Hodgson writes:
The issue I ran into was that Exim wasn't able to resolve localhost in order to connect to the LMTP listener.
That's odd.
I changed VPS provider at the same time (moved from Bytemark to Gandi) so not sure if they were doing anything different with DNS,
Sure looks like it. My home router resolves localhost to 127.0.0.1 as expected. So does my employer's.
I solved the issue by using the following configuration on the Mailman router:
Using the gethostbyname option is one way to solve the problem. Since you should only be able to reach the Mailman 3 transport via the Mailman 3 router (in Exim), this shouldn't cause whatever problem made Exim decide to use only DNS and not gethostbyname.
An alternative would be to specify the LMTP host as 127.0.0.1 in the hosts list. This is more precise, but I doubt it has other advantages over "gethostbyname / hosts = localhost".
Steve