Μετάβαση στο περιεχόμενο

Ρυθμίσεις cookies

Επιλέξτε ανά κατηγορία ποια cookies επιτρέπετε. Μπορείτε να αλλάξετε την επιλογή σας οποιαδήποτε στιγμή μέσω των Ρυθμίσεων cookies στο κάτω μέρος κάθε σελίδας. Δήλωση απορρήτου

Απαραίτητα

Πάντα ενεργά

Χρειάζονται για τη σύνδεση, για να διατηρείται το καλάθι σας και για να θυμόμαστε τις επιλογές σας. Είναι πάντα ενεργά.

Ποια cookies;
  • weboke_sessie, weboke_klant, weboke_remember: η συνεδρία σας και η παραμονή σε σύνδεση
  • weboke_basket: το καλάθι σας
  • wkBtwIncl: εμφάνιση τιμών με ή χωρίς ΦΠΑ
  • wok_cookies: η επιλογή σας για τα cookies, 12 μήνες

Μετρούν ποια διαφήμιση οδηγεί σε επίσκεψη ή παραγγελία, ώστε να μην πληρώνουμε για διαφημίσεις που δεν αποδίδουν.

Ποια cookies;
  • Google Ads μέσω Google Tag Manager (_gcl_au, _gcl_aw), έως 90 ημέρες
  • OpenAI Ads, διαφημίσεις στο ChatGPT
  • wok_aff: μέσω ποιου συνεργάτη ήρθατε σε εμάς (πρόγραμμα συνεργατών), 60 ημέρες

4,6

Χώρα και γλώσσα

Κάθε χώρα έχει τη δική της ιστοσελίδα, με τιμές και ΦΠΑ της χώρας αυτής.

Προβολή

Πώς λειτουργούν τα φίλτρα

Ενότητα 6: Αυτόματα: φίλτρα και απουσία · Χρόνος ανάγνωσης: 10 λεπτά

Στόχος μαθήματος: Μετά από αυτό το μάθημα μπορείτε να εξηγήσετε πού και πότε εκτελούνται τα φίλτρα, να διαβάσετε ένα script φίλτρων σε Sieve και να προβλέψετε σε ποιον φάκελο θα καταλήξει ένα εισερχόμενο μήνυμα.

Βασικές έννοιες: φίλτρο, Sieve, ManageSieve, σετ φίλτρων, κανόνας, συνθήκη, ενέργεια, σιωπηρή διατήρηση (implicit keep), stop, περιέχει, είναι ίσο με, ταιριάζει με την έκφραση

Τα φίλτρα εκτελούνται στον server

Ένα φίλτρο ταξινομεί αυτόματα την αλληλογραφία σας: μηνύματα με τη λέξη "factuur" (τιμολόγιο) στο θέμα πηγαίνουν στον φάκελο Facturen (Τιμολόγια), τα newsletter σε δικό τους φάκελο. Το σημαντικότερο που πρέπει να γνωρίζετε: η ταξινόμηση δεν γίνεται στο webmail, αλλά στον mail server, τη στιγμή που ένα μήνυμα παραδίδεται στο γραμματοκιβώτιό σας.

Από αυτό προκύπτουν τρία πράγματα:

  • Τα φίλτρα λειτουργούν και όταν το webmail είναι κλειστό. Ο φορητός σας υπολογιστής μπορεί να είναι κλειστός. Το τηλέφωνο βλέπει αμέσως το μήνυμα στον σωστό φάκελο.
  • Τα φίλτρα λειτουργούν μόνο σε νέα μηνύματα. Τα μηνύματα που βρίσκονται ήδη στο γραμματοκιβώτιό σας μένουν εκεί που είναι. Αν δημιουργήσετε σήμερα ένα φίλτρο, τα παλιά μηνύματα τα μετακινείτε μόνοι σας.
  • Τα φίλτρα ισχύουν για ένα γραμματοκιβώτιο. Κάθε γραμματοκιβώτιο έχει τα δικά του φίλτρα. Αν θέλετε να ρυθμίσετε κάτι για όλα τα γραμματοκιβώτια του domain σας, για παράδειγμα να μπλοκάρετε έναν αποστολέα, το κάνετε στον πίνακα διαχείρισης της hosting σας.

Τα φίλτρα είναι γραμμένα σε Sieve, μια απλή γλώσσα ειδικά για το φιλτράρισμα email (RFC 5228). Ο mail server της WebOké χρησιμοποιεί το Dovecot με το Pigeonhole, την υλοποίηση Sieve του Dovecot. Το webmail μετατρέπει τις επιλογές σας στη φόρμα σε ένα script Sieve και το στέλνει στον server μέσω του πρωτοκόλλου ManageSieve (RFC 5804). Δεν χρειάζεται να γράψετε Sieve, αλλά όποιος μπορεί να το διαβάσει καταλαβαίνει ακριβώς τι κάνουν τα φίλτρα του.

Σετ φίλτρων, κανόνες, συνθήκες και ενέργειες

Ένα σετ φίλτρων είναι ολόκληρο το script: όλα τα φίλτρα του γραμματοκιβωτίου σας σε ένα αρχείο. Μπορείτε να έχετε περισσότερα σετ φίλτρων, αλλά μόνο ένα είναι κάθε φορά ενεργό.

Μέσα στο σετ φίλτρων βρίσκονται τα φίλτρα, που στο webmail ονομάζονται και κανόνες. Κάθε φίλτρο έχει:

  • ένα όνομα, μόνο για εσάς·
  • ένα εύρος αναζήτησης: το μήνυμα πρέπει να ικανοποιεί όλους τους κανόνες, έναν από τους κανόνες, ή το φίλτρο ισχύει για όλα τα μηνύματα·
  • μία ή περισσότερες συνθήκες: πού κοιτάζει το φίλτρο (θέμα, αποστολέας, άλλη κεφαλίδα), πώς συγκρίνει και με ποιο κείμενο·
  • μία ή περισσότερες ενέργειες: τι συμβαίνει όταν ισχύουν οι συνθήκες.

Για τη σύγκριση υπάρχουν τρεις τρόποι:

Στο webmailΣε SieveΣημασία
περιέχει:containsτο κείμενο βρίσκεται κάπου στην κεφαλίδα
είναι ίσο με:isη κεφαλίδα είναι ακριβώς αυτό το κείμενο
ταιριάζει με την έκφραση:matchesμοτίβο με * (κανένας ή περισσότεροι χαρακτήρες) και ? (ακριβώς ένας χαρακτήρας)

Τα κεφαλαία γράμματα δεν παίζουν ρόλο σε κανέναν από τους τρεις τρόπους. Η Sieve συγκρίνει από προεπιλογή με τον κανόνα i;ascii-casemap, που αντιμετωπίζει τα κεφαλαία και τα πεζά γράμματα ως ίδια. Έτσι το "factuur" βρίσκει και το "FACTUUR" και το "Factuur".

Πώς μοιάζει ένα σετ φίλτρων

Στο webmail μπορείτε να δείτε το σετ φίλτρων ως κείμενο μέσω Φίλτρα > Ενέργειες > Επεξεργασία ομάδας φίλτρων. Ένα παράδειγμα όπως το γράφει το webmail:

require ["fileinto"];
# rule:[Nieuwsbrieven]
if exists "List-Id"
{
	fileinto "Nieuwsbrieven";
	stop;
}
# rule:[Facturen]
if allof (header :contains "subject" "factuur")
{
	fileinto "Facturen";
}
# rule:[Collega Daan]
if false # header :contains "from" "daan@example.com"
{
	fileinto "INBOX.Team";
}

Γραμμή προς γραμμή:

  • Η require ["fileinto"]; ζητά από τον server την επέκταση που χρειάζεται για τη μετακίνηση σε φάκελο. Το webmail την προσθέτει μόνο του στην αρχή, μαζί με όλες τις επεκτάσεις που χρησιμοποιεί το script.
  • Η # rule:[Nieuwsbrieven] είναι ένα σχόλιο. Με αυτό το webmail αναγνωρίζει το όνομα του φίλτρου σας. Ο server παραλείπει τη γραμμή.
  • Η if exists "List-Id" είναι η συνθήκη: το μήνυμα έχει κεφαλίδα List-Id. Τα newsletter και οι λίστες αλληλογραφίας την έχουν (RFC 2919).
  • Η fileinto "Nieuwsbrieven"; μετακινεί το μήνυμα στον φάκελο Nieuwsbrieven (Newsletter). Το όνομα του φακέλου είναι το πλήρες όνομα στον server, με την τελεία ως διαχωριστικό (μάθημα 5.1). Ένας φάκελος κάτω από τα Εισερχόμενα ονομάζεται λοιπόν INBOX.Team.
  • Η stop; σταματά ολόκληρο το script. Τα επόμενα φίλτρα δεν εξετάζουν πλέον αυτό το μήνυμα. Στο webmail η ενέργεια αυτή ονομάζεται Παύση επαλήθευσης κανόνων.
  • Η if false # ... είναι ένα απενεργοποιημένο φίλτρο. Αν απενεργοποιήσετε την επιλογή Ενεργό φίλτρο, το webmail κάνει τη συνθήκη false: ποτέ αληθής. Η παλιά συνθήκη μένει ως σχόλιο, ώστε να μπορείτε να την ενεργοποιήσετε ξανά αργότερα.
Το Sieve-script του συνόλου φίλτρων στην Επεξεργασία συνόλου φίλτρων
Τα φίλτρα σας όπως τα διαβάζει ο server: ένα Sieve-script

Από πάνω προς τα κάτω

Ο server διαβάζει το script από πάνω προς τα κάτω και εξετάζει κάθε φίλτρο. Ισχύουν τρεις κανόνες.

1. Χωρίς ενέργεια, το μήνυμα μένει στα Εισερχόμενα. Η Sieve γνωρίζει τη σιωπηρή διατήρηση (implicit keep, RFC 5228, ενότητα 2.10.2): αν κανένα φίλτρο δεν κάνει τίποτα, το μήνυμα πηγαίνει κανονικά στα Εισερχόμενα.

2. Μετά από μια μετακίνηση, το μήνυμα δεν βρίσκεται επιπλέον στα Εισερχόμενα. Ένα fileinto απενεργοποιεί τη σιωπηρή διατήρηση. Το μήνυμα πηγαίνει στον επιλεγμένο φάκελο και όχι επιπλέον στα Εισερχόμενα. Αν θέλετε και τα δύο, χρησιμοποιήστε την ενέργεια Αντιγραφη μυνηματος σε.

3. Χωρίς stop, εξετάζουν και τα επόμενα φίλτρα. Αν λείπει το stop, ο server συνεχίζει με το επόμενο φίλτρο. Αν ταιριάζει και εκείνο, ο server εκτελεί και τη δική του ενέργεια. Δύο μετακινήσεις σε δύο φακέλους σημαίνουν ότι το μήνυμα καταλήγει και στους δύο φακέλους. Με το stop αποφασίζει το πρώτο φίλτρο που ταιριάζει.

Γι' αυτό η σειρά έχει σημασία. Στο παραπάνω παράδειγμα το Nieuwsbrieven βρίσκεται πάνω από το Facturen, με stop. Ένα newsletter με "Je factuur" στο θέμα πηγαίνει λοιπόν στο Nieuwsbrieven και όχι στο Facturen. Αν αντιστρέψετε τη σειρά, το ίδιο newsletter καταλήγει στο Facturen, επειδή εκείνο το φίλτρο δεν έχει stop και έρχεται τώρα πρώτο. Το newsletter θα βρισκόταν μάλιστα και στους δύο φακέλους. Γι' αυτό τοποθετήστε τα πιο συγκεκριμένα φίλτρα στην κορυφή και δώστε τους stop.

Παρακολουθήστε ένα μήνυμα: έτσι κάνετε την πρόβλεψη

Πάρτε ένα μήνυμα και περάστε το από το script όπως κάνει ο server:

  1. Ξεκινήστε από το πρώτο φίλτρο. Είναι απενεργοποιημένο (if false); Παραλείψτε το.
  2. Ισχύει η συνθήκη; Κοιτάξτε προσεκτικά την κεφαλίδα: η subject είναι το θέμα, η from ο αποστολέας με όνομα και διεύθυνση, η to ο παραλήπτης.
  3. Αν ναι: εκτελέστε τις ενέργειες. Αν υπάρχει stop, έχετε τελειώσει.
  4. Αν όχι, ή αν δεν υπάρχει stop: πηγαίνετε στο επόμενο φίλτρο.
  5. Στο τέλος: αν κανένα φίλτρο δεν μετακίνησε ή διέγραψε το μήνυμα, αυτό βρίσκεται στα Εισερχόμενα (INBOX).

Με αυτά τα πέντε βήματα μπορείτε να διαβάσετε οποιοδήποτε script, ακόμη κι αν είναι μεγάλο.

Στην πράξη: έτσι λειτουργεί στο webmail

Τα φίλτρα τα βρίσκετε στις Ρυθμίσεις > Φίλτρα. Η λίστα δείχνει τα φίλτρα σας με τη σειρά που τα εκτελεί ο server· τα σύρετε για να αλλάξετε τη σειρά. Στις Ενέργειες βρίσκεται η Επεξεργασία ομάδας φίλτρων: εκεί βλέπετε και αλλάζετε το script ως κείμενο. Τα βήματα για ένα νέο φίλτρο θα τα βρείτε στον Οδηγό Roundcube, στην ενότητα Δημιουργία φίλτρου. Σε άλλα webmail λειτουργεί παρόμοια: το Gmail έχει φίλτρα, το Outlook.com κανόνες. Αυτά δεν χρησιμοποιούν Sieve, αλλά και εκεί ισχύουν η σειρά και η διακοπή.

Σύνοψη

  • Τα φίλτρα εκτελούνται στον mail server κατά την παράδοση, άρα και όταν το webmail είναι κλειστό, και μόνο σε νέα μηνύματα.
  • Το webmail γράφει τα φίλτρα σας ως script Sieve (RFC 5228) και το αποθηκεύει στον server μέσω ManageSieve.
  • Τα περιέχει, είναι ίσο με και ταιριάζει με την έκφραση δεν κάνουν από προεπιλογή διάκριση κεφαλαίων και πεζών.
  • Αν κανένα φίλτρο δεν κάνει τίποτα, το μήνυμα μένει στα Εισερχόμενα· μετά από μια μετακίνηση δεν βρίσκεται επιπλέον στα Εισερχόμενα.
  • Τα φίλτρα εκτελούνται από πάνω προς τα κάτω· το stop τερματίζει το script, άρα η σειρά καθορίζει το αποτέλεσμα.

Κουίζ

1. Δημιουργείτε σήμερα ένα φίλτρο για τον φάκελο Facturen. Τι συμβαίνει με τα τιμολόγια που βρίσκονται ήδη στα Εισερχόμενα;



2. Ένα φίλτρο με "Θέμα περιέχει factuur" δέχεται ένα μήνυμα με θέμα "FACTUUR 118". Τι συμβαίνει;



3. Τι σημαίνει το if false # header :contains "from" "daan@example.com" σε ένα σετ φίλτρων;



4. Ένα μήνυμα ταιριάζει με το πρώτο φίλτρο (μετακίνηση στο Facturen, χωρίς stop) και με το δεύτερο (μετακίνηση στο Klanten). Πού καταλήγει;



5. Πότε διατηρεί ο server ένα μήνυμα στα Εισερχόμενα;



Άσκηση

Άσκηση A6.1: Πού καταλήγει αυτό το μήνυμα; Ανοίξτε το υλικό filters-1.txt, ένα σετ φίλτρων όπως το γράφει το webmail, και το berichten-1.txt, με τις κεφαλίδες τεσσάρων εισερχόμενων μηνυμάτων, αριθμημένων από 1 έως 4. Περάστε κάθε μήνυμα από τα πέντε βήματα αυτού του μαθήματος: από πάνω προς τα κάτω, παραλείποντας τα απενεργοποιημένα φίλτρα και προσέχοντας το stop. Για κάθε μήνυμα συμπληρώστε το όνομα του φακέλου όπου καταλήγει, ακριβώς όπως εμφανίζεται στο script· αν το μήνυμα καταλήγει στα Εισερχόμενα, συμπληρώστε INBOX. Το πρόγραμμα συγκρίνει τις τέσσερις απαντήσεις σας με το κλειδί απαντήσεων και δείχνει για κάθε μήνυμα ποιο φίλτρο ήταν καθοριστικό.

Άσκηση A6.1: Πού καταλήγει αυτό το μήνυμα;

Αρχείο για αυτή την άσκηση: filters-1.txt, berichten-1.txt





Ό,τι συμπληρώνετε και ό,τι βρίσκουμε δεν το αποθηκεύουμε. Το πρόγραμμα περιήγησής σας θυμάται τις απαντήσεις σας και αν περάσατε την άσκηση. Αν έχετε εγγραφεί, αποθηκεύουμε μόνο ότι η άσκηση ήταν (σχεδόν) σωστή στο Τα μαθήματά μου· εκεί μπορείτε και να το διαγράψετε.

Περαιτέρω ανάγνωση

Όπου αναφέρονται βήματα στο webmail, ισχύουν για το webmail της WebOké· σε άλλα webmail λειτουργεί παρόμοια.

Μια στιγμή…

Ρυθμίστε τα domains σας

Ρυθμίστε για κάθε domain τους nameservers, τη σύνδεση με το hosting σας και ποιος θα είναι ο κάτοχος.

Φόρτωση των domains σας…