В настоящее время я изо всех сил пытаюсь достичь того, что звучит как простая вещь:
У меня есть установка с postfix
, dovecot
и sieve
. Письма с двух определенных адресов на один почтовый ящик пересылаются на другой почтовый адрес через сетчатый фильтр, то есть почтовый ящик a@example.com
пересылает всю входящую почту от 123@asd.com
и 456@fgh.com
к b@example.com
.
Эта настройка работает нормально, но теперь я хочу отложить пересылку писем, поступающих между 22:00 и 7:00, поэтому все письма, поступающие в этот период времени, по-прежнему пересылаются, но не раньше 7:00.
Кто-нибудь знает, как я мог этого добиться?
В настоящее время мой dovecot.sieve
файл (сгенерированный Плагин Roundcube Webmail SieveRules) выглядит примерно так:
[...]
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;
}
Я пробегал через голову хакерское решение.
В основном отметьте, что это СПАМ. Я помню, что при определенной настройке вы могли помещать электронные письма в карантин на основе определенного набора правил (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/
Вы не можете добиться этого с помощью скриптов сита, так как они выполняются при поступлении почты.
Вам придется искать вариант задержки почты в вашем MTA, который, похоже, в вашем случае является Postfix. Сообщение о сбое сервера предлагает решение с использованием специальной очереди и поля заголовка (которое вы можете установить через Sieve) и изменения конфигурации Postfix с помощью заданий cron. Альтернативой может быть пересылка почты через специальный экземпляр Postfix, который вы либо настраиваете, как описано, либо просто отключите smtp
демон (исходящий, а не smtpd
один) ночью, отредактировав master.cf
файл.