Я хотел бы, чтобы глобальный сетчатый фильтр мог сравнивать заголовок «Кому» с заголовком «Кому» для проверки псевдонимов.
Почта на псевдонимы должна заканчиваться в "Псевдонимы / $ {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;
}