Re: [exim] Troubleshoot callout cache not working

Top Page
Delete this message
Reply to this message
Author: Mike Brudenell
Date:  
To: Exim Users
Subject: Re: [exim] Troubleshoot callout cache not working
Hi, Emmanuel -

Two suggestions to try and get a bit further…


First, and I know you said you've done this but just to be sure,
double-check that you really are looking at the right configuration file:

exim -bV


Check that the Exim binary you ran here is the same one as you're running
when starting the daemon. If you have two copies lurking around your PATH
could be picking one up but your startup scripts invoking another.

Also check that this configuration file doesn't use the include directive
to include any other configuration files. If it does, check those for
"callout" directives as well.


Second, try running a fake Exim session using the

- "-bhc" command line option to set the IP address of the client host
you're going to pretend is submitting the message;
- "-oMi" option to set the incoming IP address and connection port of
your mail server;
- "-v" for verbose output;
- "-d+all" to turn on full debugging.

I always turn to this when needing to check oddities, and used it just
yesterday to test whether I'd got cutthrough connections working over TLS
again (I was caught out by hosts_verify_avoid_tls defaulting to "*"!)

For example, if

- your mail server has IP address aa.bb.cc.dd and the connection is
arriving on port 25, and
- you want to mimic being a client with IP address ww.xx.yy.zz

then the command is

exim -bhc ww.xx.yy.zz -oMi aa.bb.cc.dd.25 -v -d+all


(Yes, that really *is* a "." before the port number, *not* a ":")

You'll then need to type in SMTP commands to mimic the session whilst
keeping a close eye on the copious output to see which ACLs are operating,
which routers are being called and transports selected. Somewhere in this
you'll see the callout being made and, looking back a little, what called
it from where in your configuration file.

It helps if you have a copy of your configuration file to hand so you can
trace your way through its ACLs etc as you read through the debugging
output!

Cheers,
Mike B-)

On 23 February 2016 at 18:37, Emmanuel Noobadmin <centos.admin@???>
wrote:

> On 2/23/16, Jeremy Harris <jgh@???> wrote:
> > The way you have configured use of callouts could be such as to
> > not write a record. Lets see that part of your config file
> > (make sure it's the one being used, if there are several).
>
> This is the only part where the keyword "callout" exists in
> /etc/exim.conf which exim -bV says it is using.
>
> #drop  message = TOO_MANY_FAILED_RECIPIENTS
> #      log_message = REJECTED - Too many failed recipients - count =
> $rcpt_fail_count
> #      condition = ${if > {${eval:$rcpt_fail_count}}{3}{yes}{no}}
> #      !verify = recipient/callout=1m,defer_ok,use_sender

>
> The # are intentional, as in previously I commented them out in an
> attempt to get exim to stop doing recipient callout, but it is some
> how ignoring it because I can see in debug mode that it is doing the
> callout.
>
> The full exim.conf file is based on this
>
> https://www.nobaloney.net/archives/spamblocker/DirectAdminSpamBlocker4.2.3/exim.conf-SpamBlockerTechnology-v4.2.3.txt
>
> Output from
> # exim -bP | grep callout
> callout_domain_negative_expire = 3h
> callout_domain_positive_expire = 1w
> callout_negative_expire = 2h
> callout_positive_expire = 1d
> callout_random_local_part = $primary_hostname-$tod_epoch-testing
>
> --
> ## List details at https://lists.exim.org/mailman/listinfo/exim-users
> ## Exim details at http://www.exim.org/
> ## Please use the Wiki with this list - http://wiki.exim.org/
>




--
Systems Administrator & Change Manager
IT Services, University of York, Heslington, York YO10 5DD, UK
Tel: +44-(0)1904-323811

Web: www.york.ac.uk/it-services
Disclaimer: www.york.ac.uk/docs/disclaimer/email.htm