В попытке ограничить часы работы компании и уменьшить стресс сотрудников, я хотел бы ограничить доставку электронной почты в их почтовые ящики пользователей до рабочих часов, не ограничивая при этом получение исходящей или обычной почты нашими серверами.
Я знаю, что MS Exchange предлагает нечто подобное, но мы являемся магазином Linux / FreeBSD и используем postfix в качестве почтового сервера.
Серверы IMAP обеспечивают фильтрацию и контроль доступа, которые можно использовать, чтобы «скрыть» почту, оставив при этом доставку почти нетронутой.
В течение всего времени прячьте письма, над которыми вы не хотите видеть проделанную работу (пример кода для глобальной фильтрации сит, работает с dovecot):
if allof(
anyof(
envelope :is "To" "will.rested@ourcompany.example",
envelope :is "To" "sheila.sleepwell@ourcompany.example"
),
not anyof (
envelope :matches "From" "MAILER-DAEMON",
address :domain "From" "ourcompany.example",
address :domain "From" "emergencyservice.example"
)
anyof (
date :zone "-0500" :is "received" "weekday" "6",
allof(date :zone "-0500" :is "received" "weekday" "5",
date :zone "-0500" :value "gt" "received" "hour" "21")
)
) {
fileinto :create "Embargo";
stop;
}
В рабочее время переместите почту из папки Embargo во INBOX (например, для голубятни):
$ cat /etc/cron.hourly/disembark
is_work_day || exit 0
doveadm -u "will.rested@ourcompany.example" move INBOX mailbox Embargo
doveadm -u "sheila.sleepwell@ourcompany.example" move INBOX mailbox Embargo
Затем вы можете запретить доступ к почтовому ящику эмбарго (например, для dovecot acl).
$ cat /mail/gobal.acl
Embargo anyone
Я бы рекомендовал опустить последний шаг. Отказ от подписки на почтовый ящик «Эмбарго» должен быть полностью достаточным, чтобы подтолкнуть вас в правильном направлении, но при этом не создавать сильных стимулов для обхода меры, если особые обстоятельства требуют получения почты в необычное рабочее время.
Предостережения:
sieve-refilter может сработать, но не очень хорошо протестирован для этой цели