Если хотите использовать dovecot-delivery вместо стандартного postfix’ового, то нужно сделать следующее:
1) добавить фильтр в master.cf:
dovecot unix – n n – – pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/dovecot-lda -f ${sender} -d ${recipient}
флаги flags означают следующее (оставлю без перевода, что бы не потерять сущность оригинала):
-D
Prepend a “Delivered-To:recipient” message header with the envelope recipient address. Note: for this to work, the transport_destination_recipient_limit must be 1 (see SINGLE-RECIPIENT DELIVERY above for details).
The D flag also enforces loop detection (Postfix 2.5 and later): if a message already contains a Delivered-To:header with the same recipient address, then the message
is returned as undeliverable. The address comparison is case insensitive.This feature is available as of Postfix 2.0.
-R
Prepend a Return-Path: message header with the envelope sender address.
-h
Fold the command-line $original_recipient and $recipient address domain part (text to the right of the right-most @ character) to lower case; fold the entire command-line $domain and $nexthop host or domain information to lower case. This is recommended for delivery via UUCP.
-u
Fold the command-line $original_recipient and $recipient address localpart (text to the left of the right-most @ character) to lower case. This is recommended for delivery via UUCP.
2) в main.cf изменить “доставщика”:
virtual_transport=dovecot
а так же не забыть про строку:
dovecot_destination_recipient_limit=1
В этом случае postfix будет передавать строго по одному адресату в dovecot. В противном случае, если у вас есть алиасы и они раскрываются больше чем в 1 адрес, то postfix передаст их все сразу и в итоге dovecot-delivery не поймёт, так как ему придётся выполнить такую команду:
/usr/lib/dovecot/dovecot-lda -f sender.domain.com -d user1@domain.org,user2@domain.org
а в логах это будет выглядеть так:
postfix/pipe[763762]: [ID 197553 mail.info] 1FB981DC1: to=<user1@domain.org>, orig_to=<alias@domain.org>, relay=dovecot, delay=61543, delays=61543/0.12/0/0.02, dsn=5.3.0, status=bounced (command line usage error. Command output: lda: Fatal: Unknown argument: user2@domain.org Usage: dovecot-lda [-c <config file>] [-a <address>] [-d <username>] [-p <path>] [-f <envelope sender>] [-m <mailbox>] [-e] [-k] )