Назад | Перейти на главную страницу

Фильтр сита псевдонимов на уровне LMTP

Я хотел бы, чтобы глобальный сетчатый фильтр мог сравнивать заголовок «Кому» с заголовком «Кому» для проверки псевдонимов.
Почта на псевдонимы должна заканчиваться в "Псевдонимы / $ {alias}"

Как лучше всего добиться этого на установке Postfix-Doveco-sieve? Я могу найти множество примеров с Dovecot LDA (например, этот), но в отношении LMTP, похоже, есть оговорка с получателями BCC: 1 2

Это образец письма, отправленного с sender@external.tld на alias@domain.tld. Это правильно доставляется на user@domain.tld, но я бы хотел, чтобы он оказался в другой папке, потому что "alias"! = "User":

Return-Path: <sender@external.tld>
Delivered-To: user@domain.tld
Received: from domain.tld
    by domain.tld with LMTP
    id WdfGY9A
    (envelope-from <sender@external.tld>)
    for <user@domain.tld>; Sun, 26 Jul 2020 14:07:14 +0200
Received: from external.tld ([81.80.81.80])
    by in1.ghettosmtp.com with esmtps  (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    (Exim 4.93)
    (envelope-from <sender@external.tld>)
    id 1jzfQt-0L-5R
    for alias@domain.tld; Sun, 26 Jul 2020 12:07:11 +0000
Received: from app.external.tld (unknown [192.168.1.164])
Date: Sun, 26 Jul 2020 14:07:04 +0200 (CEST)
From: sender@external.tld
To: Jack <alias@domain.tld>
Message-ID: <MDA0E2@external.tld>
Subject: Testing sieve
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Did it work?

Кажется, это работает, но только для конкретного пользователя «user1@domain.tld»

require ["fileinto", "mailbox", "variables"];
if not address :is :localpart "to" "user1" {
 if address :matches :localpart "to" "*" {set "alias" "${1}";}
 fileinto :create "Aliases/${alias}";
 stop;
}