Nowy mail i powiadamianie SMS
17.05.2011 11:28
Postanowiłem zamieścić ten wpis ze względu na to, że poświęciłem trochę czasu na znalezienie odpowiedniego rozwiązania i komuś może się przydać. Dla tych, którzy korzystają z hostingu wspierającego powiadamianie SMS'em, kiedy pojawi im się nowa poczta w skrzynce, ten wpis będzie bezużyteczny, przez co mogą olać dalszą część tego wpisu ;)
Postaram się krótko. Ze względu na to, że w pracy, o moich zleceniach zostaję powiadamiany drogą mailową i zdarzyło mi się pominąć ważne zlecenie, postanowiłem zrobić sobie powiadamianie SMS'em na komórkę, którą mam przy sobie, bez względu na miejsce wykonywanej pracy. Rozwiązań pewnie znalazłoby się kilka, lecz mam tu parę przeszkód które muszę pokonać: - Serwer mailowy znajduje się wewnątrz sieci zakładowej i dostęp do niego jest po sieci lokalnej, gdzie wszystkie porty są odblokowane. Brak obsługi powiadamiania SMS'em. - Dostęp poza sieć lokalną jest utrudniony - odblokowane jedynie porty 80 i 443. Odpada monitorowanie zawartości skrzynek pocztowych na zewnątrz, jakimś klientem pocztowym, itp. - Tunelowanie i inne podobne rozwiązania są zabronione, ze względu na bezpieczeństwo sieci wewnątrz-zakładowej.
W miarę rozsądnym rozwiązaniem, w tym przypadku, mogłoby być przekazywanie poczty na własne konto pocztowe (poczta wychodzi na zewnątrz), które obsługuje powiadamianie SMS'em. Niestety nie posiadam takiego i nie znam poczty do 20zł/miesiąc, która by obsługiwała powiadamianie SMS'em (może ktoś zna?). Wygląda na to, że jedynym rozsądnym rozwiązaniem jest zastosowanie programu, który monitorowałby skrzynkę mailową i przy nadejściu nowej poczty wykonywałby skrypt. Biorąc pod uwagę, że telefon mam w sieci Era, to skrypt taki miałby tylko za zadanie otworzyć przeglądarkę z odpowiednim adresem, co spowodowałoby wysłanie SMS'a z bramki Era‑Omnix - prawda, że proste? No to szukam programu. Mój system operacyjny to Ubuntu 11.04. Powiadamiaczy pocztowych jest sporo, będzie w czym wybierać - pomyślałem. Niestety, żaden z dostępnych nie obsługuje wykonywania skryptów (możliwe, że coś przeoczyłem). Prawie brałem się za instalację Lazarusa i już w głowie układałem sobie program, który monitorowałby moją skrzynkę mailową. Na szczęście, (dawno nic nie skleciłem, więc pewnie byłaby to mordęga) natrafiłem na programik o niewinnej nazwie Popper. ..
Popper configurator
Program Popper zaspokaja moją potrzebę - to jest to, czego szukałem. Jego prostota pozwala na szybką konfigurację i bardzo dobrze integruje się z panelem w unity. Po otwarciu Popper Configurator, ukazuje nam się program, dzięki któremu skonfigurujemy sobie naszego powiadamiacza pocztowego. Na pierwszej zakładce (General), mamy duże logo programu i domyślnie zaznaczoną opcję "Start Popper automatically after login", która spowoduje odpalanie programu powiadamiającego na starcie naszego komputera. Ok, zostawiam. Na drugiej zakładce (Accounts), ustawiamy konta pocztowe, które będziemy monitorować. Program obsługuje wiele kont i z tego co widzę, to działa zarówno z pop3, jak i IMAP. Dodajemy konto, ustawiamy jego nazwę roboczą w programie, wskazujemy serwer, użytkownika i jego hasło do skrzynki, w razie potrzeby zaznaczamy IMAP. Dodatkowo możemy ustawić, co jaki czas (w minutach) program Popper ma nam zaglądać do skrzynki w poszukiwaniu nowej poczty. Domyślnie jest tam 30 minut. Można tutaj skorzystać z opcji, aby program sprawdzał pocztę tylko raz. Trzecia zakładka (Indicate) zawiera opcje wyglądu powiadomienia. Jaki ma być nagłówek w pasku powiadomień, czy ma pokazywać nadawcę, temat wiadomości, itp. Dodatkowo, możemy zaznaczyć, aby program pamiętał ostatnią sesję i pokazywał tylko nowe maile. Można tutaj też wskazać komendę jaka wykona się po naciśnięciu nagłówka - ja sobie wpisałem tam uruchomienie mojego domyślnego klienta pocztowego: thunderbird. Na czwartej zakładce (Notify) mamy domyślnie zaznaczone opcje: "Notify on new mail" i "Play sound on new mail", które powodują, że zostaniemy powiadomieni o nowej poczcie i dodatkowo zostanie odtworzony dźwięk, który możemy wybrać z kolekcji naszych pliczków dźwiękowych. Dodatkowo jest pole z tekstem do powiadomienia, informacja o ilości nowych maili i opcja którą bałem się zaznaczyć: "Speak notification text", która (domyślam się) spowoduje przeczytanie tekstu powiadamiającego. Piąta zakładka (Desktop), zawiera opcje dotyczące wyświetlania powiadomienia na pulpicie. Można ten typ powiadomienia włączyć/wyłączyć, ustawić pozycję na ekranie, wysokość i szerokość takiego powiadomienia, kolor tła oraz tekstu, wraz z czcionką i jej wielkością. Jest tutaj także przycisk podglądu takiego powiadomienia, co pozwoli nam szybko skonfigurować pożądany wygląd. Na szóstej zakładce (Script) znajduje się to, czego ja najbardziej oczekiwałem. Wykonanie skryptu, kiedy przyjdzie nowy mail. Mamy do wyboru 4 zdarzenia: - na przyjście nowej poczty, - kiedy, podczas sprawdzania, nie pojawiła się nowa poczta, - na kliknięcie w maila (w powiadomieniu), - na kliknięcie konta (w powiadomieniu). Ja korzystam z pierwszego zdarzenia "on new mail". Zaznaczam, i podaję ścieżkę do mojego skryptu, który ma nadane prawo wykonywalności. W siódmej zakładce (Filter), można przefiltrować wiadomości i pomijać je w powiadomieniach, w zależności od słów zawartych (bodajże) w temacie wiadomości. Dobra by tu była opcja odwrotna, której mi brakuje, czyli powiadamiać tylko w przypadku, kiedy przyjdzie wiadomość z konkretnym słowem w temacie wiadomości. Na szczęście nie przychodzi mi na tą skrzynkę wiele, a co przychodzi to jest istotne, więc nie ma na co narzekać. W kolejnej, ósmej zakładce (Test), Możemy przetestować łączność z naszymi skrzynkami pocztowymi. Dziewiąta zakładka (Help), zawiera pomoc. Niestety wszystko jest w języku angielskim.
Mając skonfigurowany program Popper, pozostaje mieć (w moim przypadku) konto na Era‑Omnix, wykupić żetony (11,07zł z VAT za 1000 żetonów, a jedna moja wiadomość, to 18 żetonów) i napisać "skrypt". Dlaczego w cudzysłowie? Sami popatrzcie co zawiera ów "skrypt":
#!/bin/bash firefox "http://www.era.pl/msg/api/do/tinker/omnix?message=Masz_maila&number=600xxxyyy&password=HASŁO&login=48600xxxyyy&failure=http://strona.gdy.błąd.pl&success=http://strona.gdy.sukces.pl&mms=false"
Plik zapisać po nazwą, np. "new_mail.sh", nadać mu uprawnienia do wykonywania i wskazać go w Popperze. Wszystko działa wyśmienicie ;)
Program Popper najłatwiej zainstalować w Ubuntu z ppa. Aby to zrobić należy w terminalu wykonać trzy polecenia:
sudo add-apt-repository ppa:ralf.hersel/rhersel-ppa sudo apt-get update sudo apt-get install popper
Mam nadzieję, że komuś się to przyda...