В настоящее время я пытаюсь достичь того, что кажется простым:
У меня есть установка с постфиксом
, голубятня
и сито
. Письма с двух определенных адресов на один почтовый ящик пересылаются на другой почтовый адрес через сетчатый фильтр, т.е. почтовый ящик a@example.com
пересылает всю входящую почту с 123@asd.com
и 456@fgh.com
на b@example.com
.
Эта настройка работает нормально, но теперь я хочу отложить пересылку писем, приходящих между 22:00 и 7:00, чтобы все письма, приходящие в этот период времени, по-прежнему пересылались, но не раньше 7:00.
Кто-нибудь знает, как я могу этого добиться?
В настоящее время мой файл dovecot.sieve
(созданный Roundcube Webmail SieveRules Plugin ) выглядит примерно так:
[...]
elsif allof (address :is "From" "123@asd.com",
header :contains "Subject" "abc")
{
redirect :copy "b@example.com";
stop;
}
elsif allof (address :is "From" "456@fgh.com",
header :contains "Subject" "abc")
{
redirect :copy "b@example.com";
stop;
}
Вы не можете добиться этого с помощью скриптов сита, так как они выполняются при поступлении почты.
Вам придется искать вариант задержки почты в вашем MTA, который, кажется, быть Postfix в вашем случае. В сообщении о сбое сервера предлагается решение с использованием специальной очереди и поля заголовка (которое можно установить через Sieve) и изменения конфигурации Postfix с помощью заданий cron. Альтернативой будет пересылка почты через специальный экземпляр Postfix, который вы либо настроите, как описано, либо просто отключите демон smtp
(исходящий, а не smtpd
) в ночное время путем редактирования файла master.cf
.
Я пробегал через голову хакерское решение.
В основном это СПАМ. Я помню, что при определенной настройке вы могли помещать электронные письма в карантин на основе определенного набора правил (SpamAssassin + Postfix). Я говорю, что переписывайте заголовки писем в течение определенного периода времени или пишите правила так, чтобы они воспринимались как СПАМ. Это приводит к тому, что эти электронные письма помещаются в карантин. В назначенное время запускайте скрипт для выпуска этих писем.
https://sourceforge.net/p/amavis/mailman/message/25121709/
Другой вариант, очевидно, тот, который вы пробежали в голове который включает в себя модификацию почтовых ящиков.
Другой вариант, о котором я думал, - это некий «умный прокси», который находится между MUA и MTA или же MTA и Интернетом. По сути, он будет останавливать Postfix с сообщениями об ошибках до установленного вами времени. Затем вы очищаете почтовую очередь Postfix в это время. Возможно, вам придется построить его самостоятельно, если нет ничего подходящего.
Другой вариант - через самих почтовых клиентов. Опять же, вам может потребоваться создать собственный плагин / расширение в зависимости от ситуации.
https://www.howtoforge.com/community/threads/postfix-how-to-delay-emails.54061/
]