Через mailertable. Да, локальный майэлер -- естественно дефолтно-шлимыльный,
файлово-mboxный. Все домены под раздачу заводятся через mailertable. domain cyrusv2:domain.
Часть после cyrusv2: на данный момент значения не имеет.
Дабы ничего не порушилось installworld я все засунул в локальный конфиг, благо
там буквально несколько строчек:
# Cyrus smmapd(8)'s map for verifying mailboxes of local recipients
LOCAL_CONFIG
Kcyrus socket -a<OK> -T<TMPF> /usr/local/cyrus/socket/smmapd
Mcyrusv2, P=[IPC], F=lsDFMnqXzA@/:|m5,
S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP, E=\r\n,
T=DNS/RFC822/SMTP,
A=FILE /usr/local/cyrus/socket/lmtp
LOCAL_RULESETS
SLocal_localaddr
R$+ $: $> "ckuser_cyrus" $1
Sckuser_cyrus
#Query smmapd(8)
R$+ $: <!> $1 $| $(cyrus $1 $: $)
#Cyrus OK, skip
R<!> $* $| $* <OK> $@ $1
#Over quota or lookup failure
R<!> $* $| $* <TMPF> $# error $@ 4.3.0 $: "451 TEMPFAIL."
#Mailbox doesn't exist or its ACL forbids posting
R<!> $* $| $* $# error $@ 5.1.1 $: "550 Mailbox is not available."
Всякие алиасы прописываются в userdb. Со всеми домеенными частями
vasya@domain:maildrop petya@domain
vasya@domain:maildrop boba@domain
Если хочется весь домен сливать в один ящик, то это можно устроить следующим
способом (дальнейшее не тестировалось, переделка на ходу другого работающего
варианта, возможны глюки и просто неработоспособность):
в userdb пишем
@domain:maildrop alluser@domain
В мэйлере EnvToSMTP исправляем на VDom и добавляем
Kvluser btree -m -a<> /etc/mail/userdb
SVDom
R$+ $: $> "VLrelay" $1
R$+ $: $> "EnvToSMTP" $1
SVLrelay
R$* $: $(vluser $1:maildrop $)
R$* :maildrop<> $@ $1
R$+ @ $+ $: $1 $(vluser @$2 $)
R$+ @ $+ :maildrop<> $@ @$2
R$* :maildrop $: $1