Sievie для исходящей почты - dovecot

Sievie для исходящей почты - dovecot

Мне нужно сделать фильтр для исходящей почты. Чтобы копировать сообщения, если "to" содержит указанный адрес электронной почты.У меня есть:

# rule:[Copy to slack]
if address :contains "to" "[email protected]"
{
    redirect :copy "[email protected]";
}

и я стараюсь

# rule:[Copy to slack]
if address :contains "to" "[email protected]"
{
    redirect :copy "[email protected]";
}

или

# rule:[Copy to ]
if address :contains "to" "[email protected]"
{
      fileinto "INBOX.Redmine";
}

Но каждый раз фильтр не срабатывает.

Это работает только в том случае, если я отправляю почту с адреса, указанного в поле «Кому», или с другого локального адреса.

Есть идеи?

решение1

Это не работает, потому что так работать не может:Если вы отправляете почту, вы отправляете ее на порт 465 напрямую в Postfix — никакой скрипт Sieve выполняться не будет.

Если вы хотите использовать язык Sieve для работы с исходящей почтой, вам придется приложить гораздо больше усилий, поскольку он не очень хорошо интегрирован в распространенное программное обеспечение, по крайней мере, далеко не так хорошо, как интеграция Pigeonhole Sieve в Dovecot, которая срабатывает только в двух конкретных случаях использования:

  1. при получении почты, также известной какконечная доставкаэтап почты, предназначенный для почтового ящика, которым управляет Dovecot, или
  2. по управлению почтовым ящиком, в частности действия локального или подключенного по протоколу IMAP клиента в почтовом ящике, которым управляет Dovecot.

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

Теперь у вас есть несколько вариантов:

  • активировать ваш скрипт для почты, которая хранится в почтовом ящике «отправленные» (но это не будет действовать для почты, которая не хранится в этом почтовом ящике)
  • замените свой скрипт встроенной функциональностью Postfix.получатель_bcc_mapsприходит в голову
  • настроить postfix header_checksтак, чтобы он просто отклонял почту, которая не соответствует вашей политике (например, пропускает нужный заголовок «Кому», а затем отклоняет все его неполные версии)
  • настроить копию в каком-нибудь milter/filter
  • настройте (предпочтительно новый, локальный) адрес, который вы настроите для расширения на два адреса, на которые вы хотите получать почту, и разрешите пользователям отправлять туда свою почту
  • перенаправить почту для этого получателя в скрипт, возможно, использующий ваш скрипт Sieve (вряд ли это ваш лучший вариант: использование sieve вне сценария использования LDA просто не поддерживается должным образом ни одним из существующих программных продуктов)

Связанный контент