Procmail: Możliwości i zastosowania.

Slides:



Advertisements
Podobne prezentacje
KORESPONDENCJA SERYJNA
Advertisements

PROGRAMOWANIE STRUKTURALNE
MS Access 2003 Kwerendy Paweł Górczyński.
MS Access 2000 Kwerendy Piotr Górczyński 25/08/2001.
WITAM NA SZKOLENIU Porady na dziś i jutro.
Support.ebsco.com EBSCOhost Wyszukiwanie złożone (z wieloma frazami) Szkolenie.
SO – LAB3 Wojciech Pieprzyca
BD-LAB6 Wojciech Pieprzyca
Korespondencja elektroniczna
Systemy zarządzania treścią CMS
PHP wprowadzenie.
Dr Anna Kwiatkowska Instytut Informatyki
Zapis informacji Dr Anna Kwiatkowska.
PROGRAMOWANIE p o w t ó r k a
Podstawowe usługi internetu
AWK Zastosowania Informatyki Wykład 1 Copyright, 2003 © Adam Czajka.
Strategia skutecznego szukania informacji w Internecie
Podstawy programowania
PRACA DYPLOMOWA INŻYNIERSKA
Programowanie strukturalne i obiektowe
Wyrażenia algebraiczne
Linux - polecenia.
Instrukcja USOSweb Wersja: Opracował: Sebastian Sieńko Moduł sprawdzianów.
RODZAJE TRANSMISJI PRZESYŁANIE INFORMACJI W MODELU WARSTWOWYM
Tworzenie stron internetowych
Edytor Vi.
czyli jak poradzić sobie bez listonosza.
Zakładanie konta pocztowego Wysyłanie i odbieranie wiadomości
Instrukcja MILO moduł klienta.
Prezentacja i szkolenie
Języki i automaty część 3.
Tworzenie programów, etapów oraz określanie wymagań etapowych
Korespondencja seryjna
Sieć oparta o serwer Ubuntu 12.10
Operacje edycyjne w bazie danych - kwerendy funkcjonalne Marzena Nowakowska Katedra Informatyki Stosowanej, WZiMK, PŚk.
MICROSOFT Access TWORZENIE MAKR
Title Slide 1 It starts with you
Temat: Poczta elektroniczna ( )
Temat 12: Formularze.

Projektowanie stron WWW
Informatyka Poczta elektroniczna.
Aplikacje internetowe
Generatory pomocy multimedialnych
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Departament Wdrażania EFS Ministerstwo Gospodarki i Pracy Podsystem monitorowania Europejskiego Funduszu Społecznego PEFS.
PHP Formularze Damian Urbańczyk. Do czego służą? Formularze to bardzo ważne elementy stron internetowych, dzięki nim dochodzi do wymiany danych pomiędzy.
Poczta elektroniczna –
Poczta elektroniczna "electronic mail") A.Ś.
Algorytmy- Wprowadzenie do programowania
Komendy SQL do pracy z danymi
Rozwiązanie zagadki nr 2
Procesor tekstu Word część 3
Projektowanie postaci formularza:
Pętle – instrukcje powtórzeń
Bartosz Pawlak Wiktor Paliwoda Bezpieczeństwo Systemów Operacyjnych IMAP vs POP.
BAZY DANYCH Microsoft Access Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i.
Filtrowanie, Funkcje bazodanowe
„Filtry i funkcje bazodanowe w EXCELU”
Elementy przeglądarki internetowej Pasek menu Pasek kart Pasek adresowy Pasek wyszukiwania Okno z zawartością strony internetowej Zakładki (ulubione)
Algorytmy. Co to jest algorytm? Przepis prowadzący do rozwiązania zadania.
Temat: Tworzenie bazy danych
ZAKŁADANIE POCZTY ELEKTRONICZNEJ
Tworzenie konta pocztowego na portalu Google
ZAKŁADANIE POCZTY ELEKTRONICZNEJ
Tworzenie konta pocztowego na portalu Google
Komunikacja ze szkołą i nauczycielami - dziennik elektroniczny
Korespondencja elektroniczna
Poczta elektroniczna "electronic mail") A.Ś.
Zapis prezentacji:

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

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

procmail :: możliwości przychodzący list może być zapisany do pliku, przesłany na inny adres lub grupę adresów e-mail, 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.

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.

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).

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 ^

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), * ^From:.*konto@serwer.com.pl przeszukiwanie pola nadawcy.

procmail :: możliwości :: warunki c.d. * ^From:.*konto@serwer\.com\.pl „.” w wyrażeniach regularnych zastępuje dowolny znak, warunek zostanie też spełniony przy np: konto@serwercom.pl, 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

procmail :: możliwości :: warunki c.d. :0 HBc * spotkanie ! kolega@serwer.com.pl „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 kolega@serwer.com.pl. :0: * ^From:.*konto@serwer.com.pl * !^Subject:.*piln * !^Priority: urgent biurowe „!” – zaprzeczenie, Wiadomości pochodzące z adresu konto@serwer.com.pl nie zawierające w temacie ciągu znaków „piln” (pilne, pilna, pilnie) i nie posiadające priorytetu „pilne”, zostaną zapisane w pliku „biurowe”.

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: * ^From:.*konto@serwer.com.pl zapisane_wiadomości :0 * ^To:.*konto@serwer.com.pl ! kolega@firma.com.pl :0 c: * ^From:.*konto@serwer.com.pl zapisane_wiadomości :0 A * ^To:.*konto@serwer.com.pl ! kolega@firma.com.pl

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 * ^From:.*konto@serwer.com.pl { :0 c: zapisane_wiadomości ! kolega@firma.com.pl }

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: * ^To:.*konto@serwer.com.pl | /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”.

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.

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 konto@serwer.com.pl 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: *^From:.*konto@serwer.com.pl zapisane_wiadomosci :0 c: *^From:.*konto@serwer.com.pl zapisane_wiadomosci

procmail :: zastosowania :: sortowanie i usuwanie :0 c *!^From:.*(zaufany@serwer.pl|zaufany1@serwer.pl) *^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 *^From:.*jan@serwer.com.pl 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.

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 konto@serwer.com.pl 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 ! konto@serwer.com.pl 1 :0 c 2 ! konto@serwer.com.pl

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 konto@serwer.com.pl, 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 ^TOkonto@serwer\.com\.pl 3 * !^FROM_DAEMON 4 * !^X-Loop: konto@serwer\.com\.pl 5 | (formail -r -A "Precedence: junk" \ 6 -A "X-Loop: konto@serwer.com.pl" ; \ 7 cat info.reply) | $SENDMAIL -t

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 60290000

procmail :: zastosowania :: usuwanie spamu :0 HB * -250^0 * -1000^0 ^FROM.+@.+\.pl * -2000^0 ^FROM.+@.+\.serwer\.com\.pl * 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.+email|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.+email|\ 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

Dziękuję za uwagę