Sieve pravidla pro příchozí zprávy
Pravidla jsou umístěna ve složce /var/vmail/sieve/emcc.cz/user
Pravidlo může vypadat následovně:
- managesieve.sieve
require ["vacation","fileinto","copy"]; # rule:[Dovolená] if false # true { vacation :days 1 :subject "Dovolená v termínu 12.8. - 18.8.2013" text: Od 12.8.2013 do 18.8.2013 jsem na dovolené. V naléhavých p▒~Yípadech prosím kontaktujte Petra Majtána, tel.: 777559966, mail: majtan@emcc.cz D▒~[kuji Stanislav N▒~[mec . ; } # rule:[Move Spam to Junk Folder] if false # header :is "X-Spam-Flag" "YES" { fileinto "Junk"; stop; } # rule:[Zabbix] if header :contains "From" "zabbix@emcc.cz" { fileinto "INBOX/Zabbix"; stop; } # rule:[UPS] if false # header :contains "From" "scan@btaudit.com" { fileinto "INBOX/BTA/UPS"; stop; } # rule:[HPL_FILTER] if false # header :contains "From" "@hpl.cz" { fileinto "INBOX/HPL"; stop; } # rule:[pokus] if false # true { fileinto :copy "FirmaEMCC"; stop; } # rule:[test - presmerovani] if false # allof (header :contains "From" "nemec@emcc.cz", header :contains "From" "info@emcc.cz", header :contains "To" "nemec@veltrusy.cz", header :contains "To" "info@veltrusy.cz") { redirect "info@emcc.cz"; stop; } # rule:[Nabídky] if anyof ( header :contains "From" "zoot.cz", header :contains "From" "@kasa.cz", header :contains "From" "@slevomat.cz", header :contains "From" "@tetadrogerie.cz", header :contains "From" "webinfo@info.alza.cz", header :contains "From" "zakaznickapodpora@802.cz", header :contains "From" "info@gamisport.cz", header :contains "From" "@levnapc.cz", header :contains "From" "marketing@arrowecs", header :contains "From" "noreply@geocaching.com", header :contains "From" "edsystem.cz@mail85.atl91.mcsv.net", header :contains "From" "kamsi@kamsi.cz", header :contains "Subject" "Sunglasses", header :contains "Subject" "RayBan", header :contains "From" "newsletter@inviamail.cz", header :contains "From" "@smtp.crystalmails.com", header :contains "From" "postmaster@brukov.cz", header :contains "From" "@zoner.cz", header :contains "From" "info@klubpevnehozdravi.cz", header :contains "From" "newsletter=studiodva.cz@smtp.crystalmails.com", header :contains "From" "Arrow_education@arrowecs.sgml1.co.uk", header :contains "From" "newsletter@nl.pepa.cz", header :contains "From" "newsletter@colosseumticket.cz", header :contains "From" "mailing@mailing.horsefeathers.cz", header :contains "From" "fanda-mail.cz@mlsend2.com", header :contains "From" "info@eurojackpot-lotto.eu", header :contains "From" "newsletter@ticketportal.cz", header :contains "From" "stasanet.cz@mail82.atl71.mcdlv.net", header :contains "From" "info@nakupka.cz", header :contains "From" "info@chytryhonza.cz", header :contains "From" "eshop.cz@simsmm.com", header :contains "From" "feedback@mail.mlblists.com", header :contains "From" "cojenoveho@eva.cz", header :contains "From" "info@newsletter.makro.cz", header :contains "From" "info@svt56.cz", header :contains "From" "akce@service.zoohit.cz", header :contains "From" "nemec-emcc.cz@sestu4.cz", header :contains "From" "newsletter.edsystem.cz", header :contains "From" "vase-parfumerie@elnino.cz", header :contains "From" "info@slevovyzpravodaj.eu", header :contains "From" "info@parfemy.cz", header :contains "From" "emailing@heureka.cz", header :contains "From" "mcsv.net", header :contains "From" "@slevoucher.cz", header :contains "From" "@sleky.cz", header :contains "From" "@service.zoohit.cz", header :contains "From" "freshlabels.cz@", header :contains "From" "@freshlabels.cz", header :contains "From" "info@ukecany.spokojenypes.cz", header :contains "From" "@kundenserver.de", header :contains "From" "@zoner.com", header :contains "From" "newsletter@info.aukro.cz", header :contains "From" "info@nwlipremium.cz", header :contains "From" "@nakupka.cz" ) { fileinto "Nevyžádaná pošta/nabidky"; stop; } # rule:[Brukov SPAM info delete] if header :contains "From" "junk@brukov.cz" { discard; stop;
Aplikace pravidel(např. po úpravě souboru managesieve.sieve)
sievec managesieve.sieve dovecot.svbin
Refilter
Filtrování již doručené pošty.
Testoval jsem na novém serveru - Debian 8.2, iRedMail-0.9.4
Do tabulky mailbox je potřeba přidat sloupec enablesieve-filter.
use vmail ALTER TABLE mailbox ADD COLUMN `enablesieve-filter` TINYINT(1) NOT NULL DEFAULT 1 AFTER enablesieve;
Sieve filtry:
Přesune zprávy z ČSOB do složky FirmaEMCC/CSOB
# rule:[refilter]
if header :contains "subject" "ČSOB Info 24 - Avízo"
{
fileinto "FirmaEMCC/CSOB";
stop;
}
Filter aplikujeme skriptem:
sieve-filter -e -W -v -C -u nemec@emcc.cz /var/vmail/vmail1/emcc.cz/n/e/m/nemec-2012.12.27.20.42.36/Maildir/sie ve/managesieve.sieve 'INBOX'
Kde -u je uživatel imap
require ["fileinto"];
# rule:[sieve-test]
if header :contains "Subject" "move to folder sieve-test"
{
fileinto "sieve-test";
stop;
}
# rule:[refilter]
if header :contains "Subject" "this will be refiltered"
{
fileinto "sieve-test";
stop;
}
# rule:[spam]
if header :contains "Subject" "this is spam"
{
discard;
stop;
}
Aplikuje pravidla, ale nemaže SPAM zprávy
sieve-filter -e -W -v -C -u majtan@emcc.cz /var/vmail/vmail1/emcc.cz/m/a/j/majtan-2012.12.30.09.47.39/sieve/refilter.sieve 'INBOX'\\
Maže SPAM zprávy
sieve-filter -e -W -v -C -u majtan@emcc.cz /var/vmail/vmail1/emcc.cz/m/a/j/majtan-2012.12.30.09.47.39/sieve/refilter.sieve 'INBOX' expunge\\
# rule:[sieve-info]
if header :contains "Subject" "Undelivered Mail Returned to Sender"
{
fileinto "sieve-test";
stop;
}
Filtr se aplikuje na IMAP složku SharedFolders.Info
sieve-filter -e -W -v -C -u majtan@emcc.cz /var/vmail/vmail1/emcc.cz/m/a/j/majtan-2012.12.30.09.47.39/sieve/refilter.sieve 'SharedFolders/Info'
Zapínaní a vypínání pravidel pomocí CRONu
Je nutné vytvořit dva soubory - managesieve.enable a managesieve.disable
Pak vytvořit cron dávku pro manipulaci se soubory - před termínem nepřítomnosti aktivovat soubor managesieve.enable a po skončení nepřítomnost soubor managesieve.disable
Je možné, že je potřeba spustit skript sievec managesieve.sieve dovecot.svbin - OTESTOVAT
59 23 24 08 * cp -a /var/vmail/sieve/veltrusy.cz/asistentka/managesieve.sieve.disable /var/vmail/sieve/veltrusy.cz/asistentka/managesieve.sieve 59 23 13 08 * cp -a /var/vmail/sieve/veltrusy.cz/starosta/managesieve.sieve.disable /var/vmail/sieve/veltrusy.cz/starosta/managesieve.sieve 42 13 13 08 * cp -a /var/vmail/sieve/veltrusy.cz/kysela/managesieve.sieve.enable /var/vmail/sieve/veltrusy.cz/kysela/managesieve.sieve 59 23 20 08 * cp -a /var/vmail/sieve/veltrusy.cz/kysela/managesieve.sieve.disable /var/vmail/sieve/veltrusy.cz/kysela/managesieve.sieve
