Narzędzia użytkownika

Narzędzia witryny


lms-rtparser

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

lms-rtparser [2012/12/05 00:00] (aktualna)
Linia 1: Linia 1:
 +===4.3.18. lms-rtparser===
 +Jest to tzw. backend dla systemu Helpdesk, czyli skrypt który współpracując z serwerem pocztowym zapisuje do bazy danych wszystkie wiadomości skierowane na adresy Helpdesk'​a. Skrypt pobiera z wejścia wiadomość pocztową, parsuje zawartość i umieszcza zgłoszenie w kolejce, wysyłając do zgłaszających potwierdzenie przyjęcia wiadomości. W temacie potwierdzenia znajduje się symbol zgłoszenia. Podczas parsowania wiadomości następuje, na podstawie tematu wiadomości,​ próba rozpoznania czy wiadomość nie jest odpowiedzią na inną wiadomość z już przypisanym numerem zgłoszenia. Od wiadomości zostają odłączone załączniki i umieszczone w katalogu zdefiniowanym w opcji mail_dir.
 +
 +Oprócz modułów Perla standardowo wymaganych przez resztę skryptów, należy zainstalować także moduły MIME::​Parser i MIME::Words z pakietu MIME-Tools oraz Mail::​Sender i Text::​Iconv.
 +
 +Skrypt można uruchamiać na wiele sposobów. Jednym z nich jest stworzenie skryptu powłoki, który odczytując skrzynkę pocztową wywoła lms-rtparser dla każdego maila. Wygodniejszym zastosowaniem jest jednak zintegrowanie go z serwerem pocztowym. Poniżej przedstawiono sposób podłączenia go do postfixa przy użyciu opcji header_checks. ​
 +
 +<​code>​
 +# plik main.cf:
 +header_checks = regexp:/​etc/​postfix/​header_checks
 +
 +# plik header_checks
 +/​^To:​.*adres@domena.*/​ FILTER filter:​dummy
 +
 +# plik master.cf:
 +filter unix - n n - 10 pipe
 +      -flags=Rq user=nobody argv=/​path/​to/​lms-rtparser
 +</​code>​
 +
 +Powyższy sposób działa dla postfixa w wersjach nowszych od 2.0. Wcześniejsze wersje nie obsługują FILTER w header_checks. Z tym problemem można sobie poradzić używając procmaila: ​
 +
 +<​code>​
 +# plik main.cf
 +mailbox_command = /​usr/​bin/​procmail
 +
 +# w katalogu domowym klienta, którego maile mają być obsługiwane przez HelpDesk:
 +# plik .forward
 +"​|IFS='​ ' && exec /​usr/​bin/​procmail -f - || exit 75 #​YOUR_USERNAME"​
 +
 +# plik .procmailrc
 +:0 c
 +   * ^To.*adres@domena
 +   | /​bin/​lms-rtparser
 +
 +:0 A
 +$DEFAULT
 +</​code>​
 +
 +Kolejny listing to przykład podłączenia parsera do Exima przy użyciu filtrów systemowych: ​
 +
 +<​code>​
 +# plik exim.conf
 +
 +system_filter_pipe_transport = address_pipe
 +
 +# plik system_filter.txt
 +
 +if $recipients is "​adres_kolejki@domena.pl"​
 +then 
 +     pipe "/​sciezka/​do/​lms-rtparser -q id_kolejki"​
 +endif
 +</​code>​
 +
 +**Jeżeli chcesz aby wiadomości wprowadzane poprzez lms-ui były kierowane do parsera, zamiast bezpośrednio zapisywane do bazy, powinieneś włączyć opcję konfiguracyjną helpdesk_backend_mode w sekcji [phpui].
 +**
 +
 +Konfigurację tego skryptu zawiera sekcja [rt] w pliku lms.ini: ​
 +
 +  * default_queue
 +Numer ID kolejki, do której trafią zgłoszenia. Jeśli nie podano, Kolejka zostanie odszukana na podstawie adresu odbiorcy maila. Opcja ta może zostać nadpisana przy pomocy parametru -q przy uruchomieniu skryptu. Domyślnie: niezdefiniowana.
 +Przykład: default_queue = 
 +
 +  * mail_from
 +Nadawca potwierdzenia (adres). Jeśli nie zdefiniowano,​ zostanie użyty adres kolejki do której zapisano zgłoszenie. Domyślnie: pusty.
 +Przykład: mail_from = rt@net.pl
 +
 +  * mail_from_name
 +Nadawca potwierdzenia (nazwa). Domyślnie: niezdefiniowana.
 +Przykład: mail_from_name = 'BOK SuperLAN'​
 +
 +  * autoreply_subject
 +Temat potwierdzenia. Tu można korzystać ze zmiennych %tid - identyfikator zgłoszenia i %subject - temat zgłoszenia. Domyślnie: "​[RT#​%tid] Receipt of request '​%subject'"​.
 +Przykład: autoreply_subject = "​[RT#​%tid] Potwierdzenie odbioru zgłoszenia o temacie '​%subject'"​
 +
 +  * autoreply_body
 +Treść potwierdzenia. Tu można korzystać ze zmiennych: %tid - identyfikator zgłoszenia i %subject - temat zgłoszenia. Domyślnie: "Your request was registered in our system.\nTo this request was assigned ticket identifier RT#​%tid.\nPlease,​ place string [RT#%tid] in subject field of any\nmail relating to this request.\n."​
 +
 +Przykład: autoreply_body = "​Państwa zgłoszenie zostało zarejestrowane w naszym systemie.\nZgłoszeniu został nadany numer: RT#%tid.\nW korespondencji związanej z tym zgłoszeniem prosimy podawać w temacie ciąg znaków [RT#​%tid].\n"​
 +
 +  * smtp_host
 +Serwer SMTP, przez który ma zostać wysłana wiadomość. Domyślnie: localhost
 +Przykład: smtp_host = smtp.mydomain.pl
 +
 +  * smtp_auth
 +Sposób autoryzacji. Dozwolone wartości: LOGIN, PLAIN, CRAM-MD5, NTLM. Domyślnie: pusta (brak autoryzacji)
 +Przykład: smtp_auth = LOGIN
 +
 +  * smtp_user
 +Login do autoryzacji SMTP. Domyślnie: pusty
 +Przykład: smtp_user = admin
 +
 +  * smtp_pass
 +Hasło do konta zdefiniowanego w opcji smtp_user. Domyślnie: puste
 +Przykład: smtp_pass = password
 +
 +  * mail_dir
 +Katalog w którym zostaną zapisane załączniki. Katalog ten powinien być dostępny dla apache'​a i klienta uruchamiającego lms-rtparser. Gdy nie ustawiono, załączniki zostaną utracone. Domyślnie: niezdefiniowany.
 +Przykład: mail_dir = /​usr/​local/​lms/​mail
 +
 +  * tmp_dir
 +Katalog tymczasowy. Domyślnie zostanie użyty katalog zdefiniowany w zmiennej systemowej lub /tmp.
 +Przykład: tmp_dir = /​home/​user/​tmp
 +
 +  * auto_open
 +Włączenie tej opcji spowoduje, że w momencie odebrania wiadomości dotyczącej zgłoszenia zamkniętego (lub martwego) zgłoszenie to zostanie otwarte. Domyślnie: wyłączone.
 +Przykład: auto_open = 1
 +
 +  * newticket_notify
 +Włączenie tej opcji spowoduje wysyłanie powiadomień o nowych zgłoszeniach do użytkowników którzy mają prawa do konkretnej kolejki. Domyślnie: wyłączone.
 +Przykład: newticket_notify = 1
 +
 +  * lms_url
 +Do powiadomienia o nowym zgłoszeniu zostaje załączony link do tego zgłoszenia w LMS-UI, aby użytkownik mógł szybko przejść do tego zgłoszenia. Domyślnie: http://​localhost/​lms/​.
 +Przykład: lms_url = https://​lms.domena.pl/​
 +
 +  * include_customerinfo
 +Do powiadomienia o nowym zgłoszeniu zostają załączone podstawowe dane klienta, jeżeli został on rozpoznany po adresie mailowym. Domyślnie: włączona.
 +Przykład: include_customerinfo = 0
  
lms-rtparser.txt · ostatnio zmienione: 2012/12/05 00:00 (edycja zewnętrzna)