我想让 Exim 在处理 RCPT ACL 期间通过调出 LMTP 服务器执行收件人验证。
我有以下路由器:
virtual_account:
domains = +virtual_domains
driver = accept
transport = dovecot
和运输:
dovecot:
driver = lmtp
socket = /var/run/dovecot/lmtp
当ACL处理到达以下语句时:
warn
domains = +virtual_domains
verify = recipient/callout
未尝试调出:
$ 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"
我猜lmtp
交通工具无法进行呼叫,但我希望听取第二种意见。
答案1
据我所知,Exim 可以通过互联网套接字上的 LMTP 进行收件人电子邮件验证(您使用 Unix 套接字)。
Exim LMTP 调用以验证收件人是否存在 - 该文档描述了如何使用 exim (LMTP) 调用来让 Exim4 实时检查 Cyrus (IMAP) 邮箱的存在情况。
原版可在 上查阅http://anfi.homeunix.org/exim/rtvcyrus.html
。
上面的链接指向存档版本。