Sieve, znany również jako Sieve Mail Filtering Language, to język skryptowy służący do automatycznego przetwarzania i zarządzania wiadomościami e-mail. Jest szeroko stosowany w serwerach pocztowych do filtrowania wiadomości na podstawie określonych kryteriów. Poniżej przedstawiamy omówienie reguł filtra Sieve.
Spis treści
Podstawowe elementy skryptu Sieve
Komentarze: Komentarze w Sieve zaczynają się od znaku #
i są ignorowane przez interpreter.
# To jest komentarz
Deklaracje: Każdy skrypt Sieve zaczyna się od deklaracji wersji.
require ["fileinto", "reject"];
Warunki: Skrypty Sieve używają warunków do określenia, jakie działania mają być podjęte na podstawie zawartości wiadomości.
if header :contains "Subject" "important" {
# działania
}
Popularne Warunki
header: Sprawdza nagłówki wiadomości.
if header :contains "From" "example@example.com" {
# działania
}
address: Sprawdza adresy e-mail w nagłówkach.
if address :domain :is "From" "example.com" {
# działania
}
size: Sprawdza rozmiar wiadomości.
if size :over 500K {
# działania
}
body: Sprawdza zawartość wiadomości.
if body :contains "unsubscribe" {
# działania
}
Akcje
fileinto: Przenosi wiadomość do określonego folderu.
if header :contains "Subject" "project" {
fileinto "Projects";
}
redirect: Przekierowuje wiadomość na inny adres e-mail.
if address :is "To" "old@example.com" {
redirect "new@example.com";
}
discard: Usuwa wiadomość.
if header :contains "Subject" "spam" {
discard;
}
keep: Zatrzymuje wiadomość w skrzynce odbiorczej.
if header :contains "Subject" "important" {
keep;
}
reject: Odrzuca wiadomość i informuje nadawcę o odrzuceniu.
if size :over 10M {
reject "Message too large";
}
Przykładowy Skrypt Sieve
Poniżej znajduje się przykładowy skrypt Sieve, który ilustruje użycie różnych warunków i akcji.
require ["fileinto", "reject"];
# Przeniesienie wiadomości z tematem "projekt" do folderu "Projects"
if header :contains "Subject" "project" {
fileinto "Projects";
}
# Przekierowanie wiadomości z określonego nadawcy na nowy adres
if address :is "From" "boss@example.com" {
redirect "newboss@example.com";
}
# Odrzucenie wiadomości większych niż 10MB
if size :over 10M {
reject "Message too large";
}
# Usunięcie wiadomości z tematem "spam"
if header :contains "Subject" "spam" {
discard;
}
# Zatrzymanie wszystkich pozostałych wiadomości
keep;
Filtr Sieve jest potężnym narzędziem do automatyzacji zarządzania pocztą e-mail, pozwalającym na precyzyjne określenie, jakie działania mają być podjęte na podstawie określonych kryteriów. Dzięki swojej elastyczności i prostocie, jest idealnym rozwiązaniem dla użytkowników potrzebujących zaawansowanego filtrowania wiadomości.