Как изменить тему сообщения в правиле сита?

Я подписан на список рассылки, который не идентифицирует себя в теме писем, отправляемых через этот список.
Я хотел бы, чтобы рассылка писем доставлялась в мой основной почтовый ящик, но я все еще мог бы идентифицировать их как поступающие из списка на первый взгляд.

Мой MTA (Dovecot) поддерживает ситовые фильтры с большинством обычных расширений.

Как добавить тег "[Foo-List]" к письмам из этого списка?

1 ответ

Решение

Кажется, что не существует стандартизированного способа непосредственно добавить или добавить строку в заголовок темы сообщения, но есть обходной путь, использующий editheaders а также variables расширения:

require "editheader";
require "variables";

# Match/select your message as you see fit
if header :contains "List-Id" ["<foo.lists.example.net>"]
{
    # Match the entire subject ...
    if header :matches "Subject" "*" {
        # ... to get it in a match group that can then be stored in a variable:
        set "subject" "${1}";
    }

    # We can't "replace" a header, but we can delete (all instances of) it and
    # re-add (a single instance of) it:
    deleteheader "Subject";
    # Append/prepend as you see fit
    addheader :last "Subject" "[Foo-List] ${subject}";
    # Note that the header is added ":last" (so it won't appear before possible
    # "Received" headers).
}
Другие вопросы по тегам