Odesílání pomocí OLE
OLE (Object linking and embedding) je technologie pocházející
od Microsoftu, tudíž ji lze využívat nejčastěji v
produktech této společnosti. Jedná se o ovládání DreamCom
Serveru programovými prostředky jiné aplikace (tzv. OLE
Automation). Odesílání pomocí OLE provádí modul dcsole.dll,
při instalaci je inicializován v systému a pak se spouští
automaticky v případě potřeby. Ruční instalaci je možné
provést pomocí regsvr32.exe dcsole.dll
OLE podporuje například:
- MS Office - Word, Excell, Outlook, Power Point, Access, návod na používání OLE v těchto
programech.
- Windows
Scripting (VBScript) - jednoduchý skriptovací
jazyk, který je součástí windows, koncovka souboru
vbs
- ASP skripty používané na webu
- MS Exchange Server
- Vývojové nástroje Delphi, C++...
Začneme příkladem, odeslání SMS pomocí OLE:
Set SMSObj = CreateObject("DreamServer.SMS") '
Vytvoření objektu
cislo = InputBox("Zadejte telefonní císlo v mezinárodním
formátu.") ' Zadání čísla adresáta
SMSObj.Send cislo, "Zprava z DreamCom Serveru." ' Zavolání
funkce Send
Není to snadné? Chcete to ihned vyzkoušet? Spusťte program
DreamCom Server, uložte tyto tři řádky do souboru test.vbs a
spusťte ho (poklepejte na něj).
Syntaxe funkce Send
Send(const Phone, Msg, [Script, Name: WideString; Flash,
Confirm, Identification: WordBool; SendTime: TDateTime; const
Mode,
Subject, From_Email, From_Name, From_CellPhone: WideString;
Repeat_Times: Int64]);
Povinné jsou pouze první 2 parametry, telefonní číslo a
text zprávy.
- Phone, telefonní čísla v mezinárodním formátu (+420603123456),
nebo národním formátu (603123456). Pokud odesíláte email vyplňte zde emailovou adresu.
- Msg, text zprávy libovolné délky, pokud je zpráva delší
než dovoluje brána, je automaticky rozdělena a odeslána
naněkolikrát
- Script, tedy brána přes kterou se SMS zpráva odesílá. Pokud ho nevyplníte, vybere se automaticky podle nastavení operátorů (v adminu ALT+O). Pokud chcete odesílat přes mobilní telefon nastavte GSM, pokud chcete poslat email nastavte SMTP.
- Name označuje jméno adresáta
- Flash, true nebo false, pokud nastavíte true SMS zpráva
bude doručena jen na displej telefonu (podporují jen některé
skripty)
- Confirm, true nebo false, pokud nastavíte true přijde Vám
doručenka na email From_Email, (podporují jen některé
skripty)
- Identification, true nebo false, pokud nastavíte true,
bude přidána do SMS zprávy vaše identifikace, (podporují jen některé
skripty)
- SendTime, čas odeslání zprávy ve formátu dd.mm.yy hh:mm,
pokud nevyplníte zpráva bude odeslána ihned
- Mode, nepoužívaný parametr
- Subject, použijete jen v případě, že odesíláte
email, jedná se o jeho předmět
- From_Email, určuje email odesílatele, pokud není vyplněno
použije se z nastavení programu
- From_Name, určuje jméno odesílatele, pokud není vyplněno
použije se z nastavení programu
- From_CellPhone, určuje mobilní číslo odesílatele,
pokud není vyplněno použije se z nastavení programu
- Repeat_Times, určuje počet pokusů pro odeslání zprávy,
pokud nevyplníte použije se hodnota z nastavení
programu. Pokud se zprávu nepodaří odeslat ani na
poslední pokus je přesunuta z fronty do historie a označena
jako chybová.
Příklady:
nejjednodušší způsob - odeslání přes web s autodetekcí
skriptu:
Send "+420604106026", "SMSka z Wordu je proste
parada!"
odeslání pomocí skriptu smska na Silvestra:
Send "604106026","Stastny Novy rok!","smscz",,,,,"31.12.2002
23:59"
event. Send Phone:="604106026", Msg:="Stastny Novy
rok!", Script:="smscz", SendTime:= "31.12.2002
23:59"
odeslání emailu:
Send "petr.omacka@seznam.cz","Ahoj Petre,
posílám ti prostě mailíka...",, "Petr Omacka",,,,,"Email",
"Pozdrav", "pavel@seznam.cz", "Pavel
Novotny"
Pomocí OLE můžete odesílat i přes lokální síť či
internet - technologie DCOM, postup nastavení:
Klientská část:
U klientských stanic stačí nastavit adresu serveru (IP adresu
nebo jméno v síti). Jako klienta lze využít vlastní vytvořenou
aplikaci, outlook, word.... Ve skriptu stačí upravit
CreateObject("DreamServer.SMS","Nazev_pocitace_kde_bezi_server")
a zapsat údaje do registru spuštěním: regsvr32 dcsole.dll
Na
straně serveru je třeba provést instalaci COM+ pomocí dcomcnfg.exe
(součást Windows 2000, XP, 2003).
Postup:
- spuštění dcomcnfg.exe - vybrat Component Services/Computers/My
Computer/COM+ application
- Vytvořte novou prázndou aplikaci (New/Application), ve spuštěném průvodci vyberete prázdnou (empty) aplikaci, jako název zadejte DreamCom SMS Server (server application). Doplňte nějaký účet uživatele pod kterým proces poběží (pokud ponecháte interactive user - server bude funkční jen když je někdo přihlášen)
- Rozklikněte DreamCom SMS Server, vyberte Components a vytvořte novou. Ve spuštěném průvodci vyberte Install New component a vyberte dcsole.dll, dokončete průvodce.
Možné problémy a jejich řešení:
- Klient hlásí, že nemůže DreamServer.SMS nalézt na serveru. Ujistěte se, že je správně nakonfigurovaný firewall. (povolené porty 3000-4000)
- Klient hlásí, že byl přístup odmítnut (access denied), nastavte sdílení složky, kde je nainstalován dreamcom server a ujistěte se, že máte vypnuté zabezpečení v COM+ objektu, nebo že máte správně nastavená přístupová práva.