[Pkg-exim4-users] exim4, gmail and 550-5.7.1

Robert Steinmetz rob at steinmetznet.com
Wed Dec 16 22:33:19 UTC 2015

Marc Haber wrote:
> On Mon, Dec 14, 2015 at 04:22:00PM -0600, Robert Steinmetz AIA wrote:
>> I solved it with the postfix server by setting up a list of domains
>> to be to ipv4 only. That works well and is easy to add more domains
>> as I discover them
> The correct way to fix this would be to tell your ISP to fix their
> IPv6, not by turning it off.

Unfortunately I have two ISPs at different sites and they both
exhibit the same problem. As for having them fix it I don't have
much hope. They have told me to use their smtp servers, which I have
set up for my users but there are other limitations on their servers which make
that less than optimal.

>> I did find this web page:
>> https://github.com/Exim/exim/wiki/How-to-force-IPv4-connections-for-specific-domains-if-IPv6-is-enabled
>> But I'm not sure how to implement it. I can certainly add a Router
>> and Transport to the appropriate directory, but where should the
>> domain list go under conf.d?
> Domainlists are a rather common element of exim configuration, so
> chances are high that there is already a domainlist in the default
> configuration. This proves to be true:
> [3/500]mh at swivel:~$ grep -lr domainlist /etc/exim4/conf.d/
> /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs
> [4/501]mh at swivel:~$
> and neatly answers your question that a domainlist needs to be in the
> "main" part of configuration.

Great. I did grep the main configuration files and the only domain
lists I found were:

root at thelma:/etc/exim4/conf.d/main# grep domainlist *
01_exim4-config_listmacrosdefs:domainlist local_domains = MAIN_LOCAL_DOMAINS
01_exim4-config_listmacrosdefs:domainlist relay_to_domains = MAIN_RELAY_TO_DOMAINS

> I would recommend putting domainlist, transport and router in their
> own files. The only directory where order matters is routers, so you
> can arbitrarily choose your file names in main and transports. It is
> important that your router is earlier than our remote_smtp router so
> that it can take precedence.
> Feel free to open a wishlist bug against exim4-config, I think it
> might be helpful to offer this mechanismn in the package, offering a
> file containing a list of target domains that are delivered via IPv4
> only.
> Greetings
> Marc
Based on the github page I found

I propose adding a new files in main



domainlist ipv4_force_domains = \
  gmail.com : \
  googlemail.com : \
  virgin.net : \
  linkedin.com : \

Greping router for remote_smtp

I get

100_exim4-config_domain_literal:  transport = remote_smtp
150_exim4-config_hubbed_hosts:  transport = remote_smtp
200_exim4-config_primary:  transport = remote_smtp
200_exim4-config_primary:  transport = remote_smtp
200_exim4-config_primary:  transport = remote_smtp_smarthost
500_exim4-config_hubuser:  transport = remote_smtp_smarthost

So I propose adding a new file to router called



  driver = dnslookup
  domains = +ipv4_force_domains
  transport = ipv4_smtp
  ignore_target_hosts = <; 0::0/0|

Finally adding a file in transports


I'm a little puzzled by the one in the example.

  driver = smtp
  dkim domain = mydomain.co.uk
  dkim_selector = x
  dkim_private_key = /usr/exim/dkim.private.key
  dkim_canon = relaxed
  interface = <my.v4.ip.address>|

Why can't I simply use the existing smtp remote_smtp transport with
the some relatively simple edits? This example contains a directive
that limits it to using ipv4 by  specifying the interface using an
ipv4 address. Seems like somewhere should be a directive like
disable_ipv6 = true or dns_ipv4_lookup = *

I also wonder if these dkim statements conflict with the rest of the
basic debian configuration.


More information about the Pkg-exim4-users mailing list