为了强制执行公司工作时间并减轻员工压力,我想将电子邮件发送到用户邮箱的时间限制在工作时间内,但不限制我们的服务器的出站或正常邮件接收。
我知道 MS Exchange 提供了类似的功能,但是我们是一家全 Linux/FreeBSD 商店,并使用 postfix 作为我们的邮件服务器。
答案1
IMAP 服务器提供过滤和访问控制,可用于“隐藏”邮件,同时几乎不影响邮件的传递。
在所有时间隐藏您不想看到的邮件(全局筛选过滤的示例代码,与 dovecot 配合使用):
if allof(
anyof(
envelope :is "To" "[email protected]",
envelope :is "To" "[email protected]"
),
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(以 Dovecot 为例):
$ cat /etc/cron.hourly/disembark
is_work_day || exit 0
doveadm -u "[email protected]" move INBOX mailbox Embargo
doveadm -u "[email protected]" move INBOX mailbox Embargo
然后,您可以拒绝访问 Embargo 邮箱(以 dovecot acl 为例)。
$ cat /mail/gobal.acl
Embargo anyone
我建议省略最后一步。不订阅“禁运”邮箱应该足以推动向正确的方向发展,同时不会产生强烈的动机来绕过该措施,以防特殊情况需要在不寻常的办公时间接收邮件。
注意事项:
- 这是针对非技术问题的技术解决方案:预计结果会不尽如人意
- 措施的名称可能会对人们如何看待它产生很大影响
- 例如禁运、抗压力、休息
- 在实施之前,您可能需要考虑(办公室、邮件服务器)时区
- sieve 可以帮你省去很多麻烦,但其他邮件过滤可能没那么慷慨
- 简单的举动将打破现有的邮件分类
sieve-refilter
可能会奏效,但尚未经过充分测试