Сито: положить почту в подадрес в папку

Можно ли написать правило сита как

if envelope :detail "to" "$x" {
  fileinto "inbox.$x";
}

но для всего возможного $x? Т.е. если пользователь создал папку inbox.foo Я хочу, чтобы почта адресована user+foo@domain приземлиться там автоматически. Спецификация, кажется, не поддерживает это.

2 ответа

Оказывается, для этого и есть расширение переменных.

require "variables";
if envelope :detail :matches "to" "*" {
  fileinto "inbox.${1}";
}

Для меня это сработало:

require ["variables", "fileinto", "envelope", "subaddress", "mailbox"];

if envelope :matches :detail "to" "*" {
    # you can prefix with INBOX/ or INBOX. if necessary
    # remove :create if you want to permit only existing mailboxes
    fileinto :create "${1}";
}

Смотрите пример здесь: https://wiki.dovecot.org/Pigeonhole/Sieve/Examples

Очевидно, это также будет просто опция для включения:lmtp_save_to_detail_mailbox=yes

Другие вопросы по тегам