Это не работает, потому что это не может работать следующим образом: Если вы отправляете почту, вы отправляете ее на порт 465 напрямую в Postfix — скрипт Sieve выполняться не будет.
Если вы хотите использовать язык sieve для работы с исходящей почтой, вам придется приложить гораздо больше усилий, потому что он плохо интегрирован в обычное программное обеспечение, по крайней мере, далеко не так хорошо, как интеграция Pigeonhole Sieve в Dovecot, которая будет только триггер в двух конкретных случаях использования:
- при получении почты, т. е. конечная доставка этап почты, предназначенной для почтового ящика, которым управляет Dovecot, или
- при управлении почтовым ящиком, в частности действиях локального клиента или клиента, подключенного по IMAP, к почтовому ящику, которым управляет Dovecot.
Примечательно, что интеграция не будет обрабатывать случай отправки почты: хотя Dovecot включает прокси-сервер отправки, он, как правило, вообще не участвует в этом направлении, а в редких случаях, когда он используется, по-прежнему не обрабатывает Sieve.
Теперь у вас есть несколько вариантов:
- запустить ваш скрипт для почты, которая хранится в почтовом ящике «отправлено» (но это не будет действовать на почту, которая не хранится в этом почтовом ящике)
- замените свой скрипт встроенными функциями Postfix. получатель_bcc_maps приходит на ум
- настроить постфикс
header_checks
просто отклонять почту, которая не соответствует вашей политике (например, пропускает желаемый заголовок To:, а затем отклоняет все неполные его версии)
- настроить копию в каком-нибудь milter/filter
- настройте (предпочтительно новый, локальный) адрес, который вы настроили для расширения до двух адресов, на которые вы хотите получать почту, пусть пользователи отправляют туда свою почту
- направить почту для этого получателя в сценарий, возможно, с использованием вашего сценария Sieve (маловероятно, ваш лучший вариант: использование sieve вне варианта использования LDA просто плохо поддерживается каким-либо существующим программным обеспечением)