Narzędzia użytkownika

Narzędzia witryny


lms-rtparser

Różnice

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


Poprzednia wersja
lms-rtparser [Nieznana data] (aktualna) – edycja zewnętrzna (Nieznana data) 127.0.0.1
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)