[Postfix] Dovecot delivery

Если хотите использовать 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] )

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *