Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Procmail: Możliwości i zastosowania.

Podobne prezentacje


Prezentacja na temat: "Procmail: Możliwości i zastosowania."— Zapis prezentacji:

1 Procmail: Możliwości i zastosowania.
Imię Nazwisko Grupa studencka

2 procmail :: informacje wstępne
narzędzie do manipulacji przychodzącej pocztą elektroniczną, najczęściej obecnie używane, najbardziej zaawansowane,

3 procmail :: możliwości
przychodzący list może być zapisany do pliku, przesłany na inny adres lub grupę adresów , przekazany do obróbki przez dowolny program lub polecenie, możliwość łączenia funkcji (także kolejno kilku) z dowolnie złożonymi warunkami, przeszukiwanie dowolnego pola nagłówka, a także samej treści listu, warunki tak-nie, definiowanie reguł oceniających listy punktami.

4 procmail :: zastosowania
sortowanie poczty do odpowiednich folderów, zapisywanie do plików, eliminowanie listów spełniających określone warunki, przekazywanie (forward) listów, przetwarzanie wiadomości w innych programach, powiadamianie o nowej poczcie na telefon komórkowy, autorespondery.

5 procmail :: program program powinien być wywoływany z pliku .forward poleceniem „|/usr/local/bin/procmail”, polecenie „|exec /usr/local/bin/procmail" – oszczędność pamięci podczas działania programu, program przetwarza reguły zawarte w pliku .procmailrc, do każdego przychodzącego listu uruchamiana jest osobna kopia programu (proces).

6 procmail :: plik .procmailrc
plik reguł filtrowania, każda reguła składa się z kilku (typowo trzech) wierszy, pierwszy wiersz - początek reguły, rozpoczyna się znakami „:0”, po nim może wystąpić kilka dodatkowych znaków, modyfikujących sposób przetwarzania reguły, gwiazdka „*” na początku każdej reguły, w kolejnych wierszach umieszczamy jeden lub więcej warunków, ostatni wiersz zawiera akcję, która ma być wykonana w przypadku spełnienia warunku. uzyty na poczatku warunku jest zaprzeczeniem ! wywołanie polecenia systemu Unix | dowolna sekwencja z a na poczatku (jedno i wiecej) a* sekwencja abc powtarza sie zero lub kilka razy (dowolna ilosc powtórzen) (abc)* sekwencje znaków `ab' lub `cd' (alternatywa) ab|cd otwarcie i zamkniecie bloku danych {} koniec linii $ zero lub wiecej powtórzen wyrazenia który jest przed "gwiazdka" / dowolny ciag znaków * dowolny ciag znaków (takze ciag pusty znaków...) .* dowolny ciag znaków (ale co najmniej jeden) .+ dowolny znak . poczatek linii ^

7 procmail :: możliwości :: warunki
Warunki mają postać wrażeń regularnych, domyślnie przeszukiwany jest tylko nagłówek listu. * adult warunek będzie spełniony jeżeli w którymkolwiek nagłówku wystąpi wyrażenie „adult”, * ^Subject:.*adult sprecyzowanie, które nagłówki będą przeszukiwane (przeszukiwanie tematu listu), * przeszukiwanie pola nadawcy.

8 procmail :: możliwości :: warunki c.d.
* „.” w wyrażeniach regularnych zastępuje dowolny znak, warunek zostanie też spełniony przy np: i dlatego przed „.” stosuje się „\”, * ^Subject:.*(adult|sex|girls|porn) alternatywa wyrażeń – warunek jest spełniony, gdy temat listu zawiera którekolwiek z oddzielonych „|” wyrażeń, * ^FROM_DAEMON warunek pasuje do listów wysyłanych przez automaty, zwrotów odbitej poczty, listów z niektórych list dyskusyjnych, nie jest wyrażeniem regularnym – warunek jest spełniony gdy wielkość listu jest większa/mniejsza od podanej wartości bajtów, * < liczba * > liczba

9 procmail :: możliwości :: warunki c.d.
:0 HBc * spotkanie ! „H” - przeszukuje nagłówek, „B” – przeszukuje treść listu, „c:” – pozostawienie listu w naszej skrzynce pocztowej, Nagłówek oraz treść listu zostaną przeszukane na okoliczność wystąpienia słowa „zebranie” i (po spełnieniu warunku) wiadomość zostanie przekazana na adres :0: * * !^Subject:.*piln * !^Priority: urgent biurowe „!” – zaprzeczenie, Wiadomości pochodzące z adresu nie zawierające w temacie ciągu znaków „piln” (pilne, pilna, pilnie) i nie posiadające priorytetu „pilne”, zostaną zapisane w pliku „biurowe”.

10 procmail :: możliwości :: łączenie reguł
połączenie 2 poprzednich przykładów: zapisywanie i przekaz wiadomości, „c:” - program pomimo sprawdzenia pierwszego warunku i wykonania związanej akcji (zapisanie wiadomości) przechodzi do sprawdzenia kolejnej reguły, użycie „A” zapobiega sprawdzaniu tej samej reguły kilka razy, reguła z „A” jest przetwarzana gdy warunek w poprzedniej regule nie zawierającej „A” jest prawdziwy. :0 c: * zapisane_wiadomości :0 * ! :0 c: * zapisane_wiadomości :0 A * !

11 procmail :: możliwości :: łączenie reguł c.d.
użycie zagnieżdżonego bloku reguł, brak warunków przy regułach w bloku, jeżeli warunek zostanie spełniony to wykonywana akcja będzie polegała na przetworzeniu reguł zawartych w bloku pomiędzy znakami „{„ i „}”. :0 * { :0 c: zapisane_wiadomości ! }

12 procmail :: możliwości :: semafory
listy które spełniają warunek zostaną skompresowane do pliku konto.gz, „|” wywołuje program gzip, zastosowanie semafora poprzez użycie drugiego „:” „w” – oczekiwanie z opuszczeniem semafora na zakończenie programu gzip. :0 w: * | /usr/local/bin/gzip >>konto.gz W przypadku otrzymania w tym samym czasie kilku listów do każdego z nich uruchamiana jest osobna kopia programu procmail i próba jednoczesnego zapisu kilku listów do jednego pliku spowodowałoby to brak spójności pliku. Program który pierwszy rozpocznie zapisywanie „opuszcza semafor” uniemożliwiając to innym kopiom programu do czasu zakończenia działania i „podniesienia semafora”.

13 procmail :: możliwości :: liczenie punktów
przyznawanie punktów po spełnieniu warunków, kasowanie listu po osiągnięciu założonej ilości punktów. 1 :0 B 2 * -3^0 3 * 1^1 money 4 /dev/null linia 2: „* -3^0” – przypisanie wartości początkowej -3, linia 3: x^y – „w” jest liczbą punktów doliczaną za wystąpienie wyrażenia, „y” wykładnik potęgi, określa jak bardzo będą się liczyć kolejne wystąpienia w stosunku do poprzedniego: 1 wystąpienie = x 2 wystąpienie = x*y 3 wystąpienie = x*y*y, itd. Cały warunek uważany jest za spełniony jeżeli ostatecznie suma punktów jest większa od zera. Trzykrotne wystąpienie wyrażenia „money” spowoduje skasowanie listu.

14 procmail :: zastosowania :: zapisywanie wiadomości
linia 1 – początek reguły, linia 2 – określenie sprawdzanego warunku, linia 3 – wykonywane polecenie w przypadku spełnienia warunku. Każdy list z adresu zostanie zapisany do pliku zapisane_wiadomosci zamiast w skrzynce pocztowej. W przypadku grup dyskusyjnych uwzględniać należy pole „To:” . Dodanie w pierwszej linii „c:” dodatkowo pozostawi list w skrzynce pocztowej. :0: zapisane_wiadomosci :0 c: zapisane_wiadomosci

15 procmail :: zastosowania :: sortowanie i usuwanie
:0 c *^Subject:.*(money|cash|sex|porn) /dev/null działanie nie dotyczy zaufanch adresów jeżeli w temacie wiadomości znalezione zostanie którekolwiek ze słów: money, cash, sex, porn, wiadomość zostanie zapisana do pliku /dev/null, czyli skasowana. :0 mail/jan :0 *^Subject:.*pilne mail/pilne po spełnieniu warunku (tutaj: wiadomość od określonego adresata lub zdefiniowany ciąg znaków w temacie) wiadomość zostanie skopiowana do odpowiedniego folderu.

16 procmail :: zastosowania :: przekaz poczty
linia 1 – „:0” – rozpoczęcie przetwarzania reguł „c” – list pozostaje na koncie, linia 2 – adres na który ma być przekazana wiadomość. Wiadomość zostanie przekazana na adres i nie będzie zapisana w lokalnej skrzynce pocztowej. Dodanie parametru „c” dodatkowo pozwoli na zachowanie przekazywanego listu. „!” jest poleceniem wysłania listu na podany adres. 1 :0 2 ! 1 :0 c 2 !

17 procmail :: zastosowania :: autoresponder
linia 1 – „h” – przekazanie do programu formail tylko nagłówka listu, „c” – list pozostaje na koncie, linia 2 – uwzględniany jest adres linia 3 – ignorowane są listy od automatów pocztowych, linia 4 – zabezpieczenie przed pętlą pocztową, linia 5 i 6 – program formail generuje nagłówek odpowiedzi: „-r” generuje pole „To:” na podstawie adresu nadawcy oryginału, oraz „Subject:Re:” będący tematem wiadomości, „-A” dodaje do nagłówka pola „Precedence:” i „X-Loop:” – pierwszy oznacza list jako pochodzący z automatu, a drugi zabezpiecza list przed powtórną odpowiedzią na niego, linia 7 – komenda „cat” dopisuje odpowiedź z pliku „info.reply” i wszystko zostaje przekazane do programu sendmail. 1 :0 hc 2 3 * !^FROM_DAEMON 4 * !^X-Loop: 5 | (formail -r -A "Precedence: junk" \ 6 -A "X-Loop: ; \ 7 cat info.reply) | $SENDMAIL -t

18 procmail :: zastosowania :: powiadomienie sms
linia 1 – „h” – przekazanie do programu formail tylko nagłówka listu, „c” – list pozostaje na koncie, linia 2 – ignorowane są listy od automatów pocztowych, linia 3 – program egrep przekazuje wartości pól „From:” i „Subject:”, „head -2” określa ile linii ma zostać przekazanych do programu sms, powiadomienie sms powinno być umieszczane na końcu pliku aby nie otrzymywać wiadomości np. o spamie. 1 :0 h c 2 * !^FROM_DAEMON 3 | egrep "From:|Subject:" | head -2 | /usr/bin/sms

19 procmail :: zastosowania :: usuwanie spamu
:0 HB * -250^0 * -1000^0 * -2000^0 * 100^0 !^From: * 200^0 !^To: * 100^0 !^Subject: * 200^0 Received.*(advertise|stealth|bulk|sex) * 100^2 Received.(comanche|apache).+(net|com|org)? * 50^2 ^(From|To).*(sex|adult|porn) * 200^0 Message-ID.*(advert|bulk|lov(e|ing)|aegispam) * 190^0 ^Subject.*(\ sex|adult|porn|gay|erotic|advert|\ xxx\ | zaprosz|bulk.+ |revenue|expense|profit|sperm|money|earn| cash|free|lingerie) * 20^0 ^Subject.*\$ * 100^0 ^Subject.*\$\$ * 500^0 ^Subject.*\$\$\$ * 20^0 ^Subject.*\! * 100^0 ^Subject.*\!\! * 300^0 ^Subject.*\!\!\! * 20^2 \ sex|^sex|adult|erotic|gay|porn|chain.+letter|sponsor|\ xxx\ | ^xxx\ |bulk|girls|hardcore|\ cum|advertise|remove|revenue| expense|profit|sperm|money|marketing|targeted\ search| collect.+ |\ pay|lingerie|org(y|ies)|teens|sign\ up\ now /dev/null początkowa wartość punktów odejmowanie punktów listom z zaufanych adresów/domen brak pól Od, Do, Temat charakterystyczne fragmenty adresów spamerów wystąpienie w temacie listu charakterystycznych słów wystąpienie w temacie listu 1, 2, 3 razy znaków $ lub ! poszukiwanie słów kluczowych w treści listu skasowanie listu, jeśli liczba uzyskanych punktów > 0

20 Dziękuję za uwagę


Pobierz ppt "Procmail: Możliwości i zastosowania."

Podobne prezentacje


Reklamy Google