Informator Techniczny nr 111 25-03-2009 INFORMATOR TECHNICZNY WONDERWARE Wysyłanie wiadomości e-mail z programu Wonderware Historian Wstęp W Historianie istnieje moŝliwość wysyłania wiadomości e-mailowych. Maile takie mogą zawierać dowolny tekst, wyniki konkretnych zapytań lub pliki. Do tego nie wymagany jest Ŝaden program pocztowy (np. Microsoft Outlook), poniewaŝ wykorzystywane rozwiązanie - Database Mail, zawarte w programie Microsoft SQL Server 2005, korzysta z protokołu SMTP. MoŜliwe jest równieŝ zdefiniowanie róŝnych profili, z których mają być wysyłane wiadomości. Wcześniej maile mogły być wysyłane poprzez funkcjonalność SQL Mail, jednak ten sposób będzie niedostępny w przyszłych wersjach programu SQL Server. Dlatego teŝ zaleca się wysyłanie maili tylko przy pomocy Database Mail i modyfikację aplikacji korzystających dotychczas ze starszego rozwiązania. 1. Aktywowanie Database Mail Domyślnie, rozwiązanie Database Mail nie jest aktywne. Aby je uaktywnić, naleŝy uruchomić narzędzie SQL Server Surface Area Configuration (menu Start\Programs\Microsoft SQL Server 2005\Configuration Tools\SQL Server Area Configuration). Następnie naleŝy kliknąć opcję Surface Area Configuration for Features. Z listy instancji, po lewej stronie okna, naleŝy wskazać Database Mail i zaznaczyć opcję Enable Database Mail stored procedures. ASTOR Sp. z o.o. Dział Oprogramowania Przemysłowego ul. Smoleńsk 29, 31-112 Kraków tel.: 012 428-63-30 fax: 012 428-63-09 e-mail: wonderware@astor.com.pl http://www.astor.com.pl
Następnie naleŝy kliknąć przycisk Apply, OK i zamknąć narzędzie SQL Server Surface Area Configuration. 2. Konfigurowanie profilu oraz konta NaleŜy uruchomić program SQL Server Management Studio (menu Start\Programs\Microsoft SQL Server 2005\SQL Server Management Studio) i połączyć się z serwerem. Po lewej stronie, w oknie Object Explorer rozwinąć katalog Management, zaznaczyć pozycję Database Mail, kliknąć na nią prawym przyciskiem myszy i wybrać Configure Database Mail. W oknie Welcome to Database Mail Configuration Wizard moŝna zaznaczyć opcję Skip this page in the future (w celu uniknięcia ponownego wyświetlania tego okna informacyjnego przy kolejnych konfiguracjach), po czym naleŝy kliknąć przycisk Next. 2
W kolejnym oknie naleŝy wybrać opcję Set up Database Mail by performing following tasks i kliknąć przycisk Next. W oknie New Profile naleŝy podać w polu Profile name własną nazwę profilu, a w polu Description opcjonalny krótki opis. Następnie kliknąć przycisk Add. Pojawi się okno New Database Mail Account, w którym naleŝy zdefiniować parametry konta mailowego, z którego będą wysyłane wiadomości. 3
Account name Description E-mail address Display name Reply e-mail Server name Nazwa pola Opis własna nazwa konta opcjonalny opis adres konta mailowego, z którego mają być wysyłane wiadomości nazwa nadawcy wysłanego maila adres zwrotny nadawcy nazwa serwera SMTP PoniŜej podano przykład wypełniania poszczególnych pól tego okna. UWAGA! Ustawienia kaŝdego konta mogą być róŝne, zaleŝne od firmy dostarczającej usługi mailowe. Dlatego teŝ naleŝy upewnić się co do opcji: Server name Port number This Server requires a secure connections (SSL) SMTP Authentication Po poprawnym wpisaniu wszystkich wymaganych informacji naleŝy kliknąć przycisk OK. Nastąpi powrót do poprzedniego okna, w którym naleŝy kliknąć przycisk Next. W oknie Manage Profile Security jest moŝliwość skonfigurowania profilu jako prywatny lub publiczny (dostępny dla wszystkich lub określonych uŝytkowników bazy). Okno to konfiguruje się według własnych preferencji. W tym przykładzie naleŝy pozostawić ustawienia domyślne i kliknąć przycisk Next. 4
W oknie Configure System Parameters jest moŝliwość skonfigurowania takich ustawień jak np. liczby prób połączenia z serwerem czy maksymalny rozmiar załącznika. Okno to, podobnie jak poprzednie, konfigurowane jest według preferencji uŝytkownika; w tym przykładzie naleŝy jednak pozostawić parametry domyślne i kliknąć przycisk Next. 5
W kolejnym oknie naleŝy zweryfikować zlecone do realizacji akcje i kliknąć przycisk Finish. Po poprawnym wykonaniu wszystkich akcji, proces konfiguracji naleŝy zakończyć przyciskiem Close. 6
3. Testowanie wysyłania wiadomości mailowych W programie SQL Server Management Studio, po lewej stronie, w oknie Object Explorer naleŝy rozwinąć katalog Management, zaznaczyć pozycję Database Mail, kliknąć na nią prawym przyciskiem myszy i wybrać Send Test E-mail. Pojawi się okno, w którym naleŝy wskazać profil, z jakiego ma być wysłana wiadomość, wypełnić pole adresata (To:), wpisać temat wiadomości (Subject:) oraz treść maila (Body:). Testowa wiadomość zostanie wysłana po wciśnięciu przycisku Send Test E-Mail. Pojawi się okno, w którym naleŝy potwierdzić, czy wysłany mail został doręczony (w celu sprawdzenia naleŝy odczekać chwilę po wysłaniu maila). W przypadku doręczenia naleŝy kliknąć OK, po którym nastąpi zamknięcie okna, w razie niedostarczenia wiadomości, po wciśnięciu przycisku Troubleshoot pojawi się pomoc programu, w celu rozwiązania problemu. JeŜeli konto pocztowe zostało dobrze skonfigurowane, a adres odbiorcy wpisany poprawnie, wiadomość powinna zostać dostarczona. W przeciwnym przypadku naleŝy otworzyć Database Mail Log (prawym przyciskiem myszy na Database Mail i wybrać View Database Mail Log) i zweryfikować podane w kolumnie Message informacje na temat wysłanej wiadomości. 7
4. Przykład wykorzystania w Historianie PoniŜej przedstawiony zostanie przykład wykorzystania procedury składowanej sp_send_dbmail do wysyłania wiadomości mailowej. W programie Industral SQL Server (Historian) zostanie zdefiniowana zmienna zdarzeniowa, uruchamiająca okresowo zapytanie z procedurą wysyłania maila. W Historianie definiujemy nową zmienną Event, jako typ detektora ustalamy Schedule, Periodic, z okresem 1 minuta. Klikamy przycisk Next. W oknie Action wybieramy Generic SQL, a w treść zapytania wpisujemy (odpowiednio własne dane): EXEC msdb.dbo.sp_send_dbmail @profile_name = 'Profil testowy', @recipients = 'adresat@listy.pl', @body = 'Zdarzenie @EventTagName zaistnialo dnia @EventTime', @subject = 'Informacja o zdarzeniu' ; W rezultacie, ze zdefiniowanego wcześniej profilu mailowego co minutę będzie wysyłana wiadomość do wskazanego adresata, z informacją o zmiennej Event i chwili czasu, w której zdarzenie zaistniało. 8