I want to make Exim perform recipient verification with a callout to the LMTP server during processing of the RCPT ACL.
I have the following router:
virtual_account:
domains = +virtual_domains
driver = accept
transport = dovecot
and transport:
dovecot:
driver = lmtp
socket = /var/run/dovecot/lmtp
When ACL processing reaches the following statement:
warn
domains = +virtual_domains
verify = recipient/callout
the callout is not attempted:
$ exim -d -bhc 1.2.3.4
...
RCPT TO: [email protected]
>>> using ACL "acl_check_rcpt"
...
processing "warn"
check domains = +virtual_domains
cached yes match for +virtual_domains
cached lookup data = example.com
example.com in "+virtual_domains"? yes (matched "+virtual_domains" - cached)
check verify = recipient/callout
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Verifying [email protected]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering [email protected]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
routing [email protected]
...
--------> virtual_account router <--------
local_part=test domain=example.com
checking domains
cached yes match for +virtual_domains
cached lookup data = example.com
example.com in "+virtual_domains"? yes (matched "+virtual_domains" - cached)
R: virtual_account for [email protected]
calling virtual_account router
virtual_account router called for [email protected]
domain = example.com
queued for dovecot transport: local_part = test
domain = example.com
errors_to=NULL
domain_data=example.com localpart_data=NULL
routed by virtual_account router
envelope to: [email protected]
transport: dovecot
Cannot do callout: neither router nor transport provided a host list
----------- end verify ------------
warn: condition test succeeded in ACL "acl_check_rcpt"
I guess the lmtp
transport is unable to do callouts, but I'd appreciate a second opinion.
AFAIR Exim can do recipient email verification via LMTP over internet socket (you use Unix socket).
Exim LMTP callouts for recipient existence verification - The document describes how to make Exim4 check in real time presence of Cyrus (IMAP) mailbox using exim's (LMTP) callouts.
The original version had been available at
http://anfi.homeunix.org/exim/rtvcyrus.html
.The link above points to the archived version.