I am stuck here, maybe someone can give me a hint
I am using virtual domains with exim and cyrus.
I can receive mails for all domains and they are delivered into there
appropriate boxes liks <user>@<fqdn1> or <user>@<fqdn2> etc.
but I don't wan't to accept _all_ (for boxes that don't exist) mails so
I use:
acl:
accept domains = +local_domains
endpass
message = ${if match{$acl_verify_message}\
{\N(?m)^\d{3} (\d\.\d\.\d .{0,120})\Z\N} \
{IMAP said: $1}{Recipient unknown/invalid}}
verify = recipient/callout=5s,no_cache
and:
cyrus_deliver:
driver = smtp
protocol = lmtp
hosts = localhost
user = cyrus
envelope_to_add
allow_localhost
Unfortunately this leads to (testing with exim -bhc <IP>):
>>> SMTP>> RCPT TO:<<user>@<fqdn1>>
>>> SMTP<< 550-Mailbox unknown. Either there is no mailbox
associated with this
>>> 550-name or you do not have authorization to see it.
>>> 550 5.1.1 User unknown
>>> SMTP>> QUIT
>>> ----------- end verify ------------
>>> accept: condition test failed
>>> accept: endpass encountered - denying access
550 IMAP said: 5.1.1 User unknown
but the mailbox exists:!
The following setup works, but accepts all mails for all nonexisting
users: (which is because callout doesn't work)
cyrus_deliver:
driver = lmtp
socket = /var/run/cyrus/socket/lmtp
envelope_to_add
user = cyrus
(Again testing with exim -bhc <IP>)
>>> routed by domain_aliases router
>>> Cannot do callout: neither router nor transport provided a hos list
lmtpd starts with option "-a" and the mentioned router looks like this:
"domain_aliases:
debug_print = "domain_aliases for $local_part@$domain"
domains = +local_domains
driver = redirect
data = ${lookup{$local_part}lsearch*@{/etc/exim4/domains/$domain}}
"
Thanks in advance!