1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# Comando (pkgs.dovecot_pigeonhole) para filtrar mensajes existentes:
#
# $ sieve-filter -v -C -u alejandro@34project.org ~/.dovecot.sieve INBOX
#
# Ese comando es un dry-run, agregar "-W -e" para proceder. Probablemente es
# buena idea hacer 'snapshot -r' de ~/mail antes de ejecutar eso. El primer run
# tomó como 15 minutos para procesar todo el maildir.
#
# https://blog.bastelfreak.de/2020/08/dovecot-apply-sieve-filter-to-existing-emails/
require ["fileinto", "mailbox"];
if anyof(
address :is "from" ["mailer-daemon@34project.org"],
address :is :localpart "to" ["abuse", "security", "postmaster", "hostmaster", "sysadmin"]
) {
fileinto :create "admin";
} elsif address :is "from" "notifications@github.com" {
fileinto :create "github";
} elsif address :is "from" [
"lwn@lwn.net",
"info@fsf.org"
]
{
fileinto :create "news";
} elsif anyof(
address :is "from" [
"factura@factura.tigo.cr",
"factura_electronica@claro.cr",
"bcrtarjestcta@bancobcr.com"
],
allof(
address :is "from" "bncontacto@bncr.fi.cr",
header :is "Subject" "Voucher Digital"
),
allof(
address :is "from" [
"support-renew@gandi.net",
"support-es@gandi.net",
"support-es@support.gandi.net"
],
header :contains "Subject" ["Automatic crediting", "Factura", "domain name renewed"]
)
) {
fileinto :create "bills";
} elsif address :is :domain ["from", "to"] ["estudiantec.cr", "itcr.ac.cr", "tec.ac.cr"] {
fileinto :create "tec";
} elsif address :is :domain "from" ["turing.com", "paypal.com"] {
fileinto :create "spam";
}
|