我想让 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
运输无法进行标注,但我会很感激第二个意见。
AFAIR Exim 可以通过 Internet 套接字(您使用 Unix 套接字)通过 LMTP 进行收件人电子邮件验证。
用于收件人存在验证的 Exim LMTP 标注 - 该文档描述了如何使 Exim4 使用 exim 的 (LMTP) 标注实时检查 Cyrus (IMAP) 邮箱的存在。
原始版本已在
http://anfi.homeunix.org/exim/rtvcyrus.html
.上面的链接指向存档版本。