Sieve

Wersja z dnia 17:19, 28 lut 2015 autorstwa Budek (dyskusja) (Utworzono nową stronę "{{Stub}} ''Sieve'' to skryptowy język służący do automatyzacji wielu zadań związanych z kontami pocztowymi (na przykład automatycznemu odpowiadaniu, kopiowaniu w...")

(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)

Szablon:Stub

Sieve to skryptowy język służący do automatyzacji wielu zadań związanych z kontami pocztowymi (na przykład automatycznemu odpowiadaniu, kopiowaniu wiadomości na inny adres, czy odrzucaniem niektórych wiadomości). Skrypt Sieve działa po stronie serwera.

Zarządzenie skryptem Sieve jest możliwe z:

  • programu pocztowego (np. w Thunderbird wymagany dodatkowy add-on)
  • skryptu perl sieve-connect
  • webmaila roundcube (Ustawienia → Filtry) - nie jest wymagana znajomość składni.

Struktura skryptu Sieve nie jest skomplikowana i do napisania najprostszej reguły nie potrzeba znać żadnego języka programowania. Skrypt składa się z listy prostych poleceń, takich jak: "fileinto" (przenieś do folderu), "if" (jeśli jakiś warunek jest spełniony), "discard" (odrzuć), etc.

Składnia

require ["fileinto", "reject", "vacation", "regex", "relational", "comparator-i;ascii-numeric"];

if size :over 1024K {
  reject "Wiadomość niedostarczona. Zbyt duży rozmiar.";
  stop;
}

require["..."]; - Ta linia informuje z jakich modułów będziemy korzystać (fileinto do umieszczenia maila w folderze, reject do odrzucania wiadomości, vacation do wysyłania automatycznej wiadomości, regex do wykorzystania wyrażeń regularnych oraz relational wraz z comparator-i;ascii-numeric do porównań numerycznych).

if size :over 1024K { - Ta linia sprawdza czy rozmiar wiadomości jest większy niż 1024KB

reject "(...)"; - W tej linii wiadomość jest odrzucana

stop; - W tej linii Steve przestaje analizować dalszą część skryptu. } - Nawias zamykający to, co się dzieje po spełnieniu warunku w if.

Test

size Sprawdza czy rozmiar wiadomości jest większy :over, bądź mniejszy :under od podanej wartości w M(megabajtach), K(kilobajtach) bądź domyślnie w bajtach (na przykład 10M, 20K, 1024).

header Sprawdzanie pól nagłówka.

address Sprawdzanie tylko adresu z nagłówka. Na przykład mail wysłano jako Jan Nowak <jnowak@example.com>. Test header "From" :is "jnowak@example.com" jest fałszywe, natomiast address :is "jnowak@example.com" jest prawdziwe.

allof

anyof

true

false

not

Porównania

:is

:matches

:contains

:over

:under

:count


if

else

elseif

stop


keep

fileinto

discard

reject

redirect

Komentarz

# Komentarz jednoliniowy od znaku '#' do końca linii. Treść jest ignorowana przez parser Sieve.
/* Komentarz blokowy
 * Wszystkie linijki są ignorowane od momentu rozpoczęcia komentarza ciągiem znaków '/*',
 * aż do momentu zakończenia komentarza ciągiem znaków */