|
|
![]() ![]() ![]() |
|
V této kapitole je dokončen popis komponent NetMasters. Jsou zde popsány:
property Attachments: TStringList; | Vlastnost obsahuje seznam řetězců jmen souborů připojených k současné zprávě. | Runtime, Read-only |
property Body: TStringList; | Vlastnost obsahuje tělo současné mail zprávy. | Runtime, Read-only |
property From: string; | Vlastnost obsahuje e-mail adresu odesilatele současné mail zprávy. | Runtime, Read-only |
property Head: TExStringList; | Vlastnost obsahuje hlavičku současné mail zprávy | Runtime, Read-only |
property MessageId: string; | Vlastnost obsahuje identifikaci zprávy přiřazenou k současné mail zprávě mail serverem. | Runtime only |
property Subject: string; | Vlastnost obsahuje řádek Subject současné mail zprávy. | Runtime, Read-only |
property Bytes: integer; | Vlastnost obsahuje počet slabik v současné e-mail zprávě. |
property From: string; | Vlastnost obsahuje e-mail adresu odesilatele zprávy. |
property Header: TExStringList; | Vlastnost obsahuje hlavičku pro současnou e-mail zprávu. |
property MessageId: string; | Vlastnost obsahuje identifikaci zprávy přiřazenou mail serverem ke zprávě. |
property Subject: string; | Vlastnost obsahuje řádek Subject pro současnou e-mail zprávu. |
property AttachFilePath: string; | Vlastnost specifikuje adresář k ukládání libovolných souborů připojených ke zprávě. Implicitně jsou ukládány do adresáře aplikace. Pokud specifikovaný adresář neexistuje, pak soubory jsou ukládány do současného adresáře. | Published | Runtime, Designtime |
property DeleteOnRead: boolean; | Vlastnost určuje, zda po přečtení zprávu zrušit. Pokud má hodnotu true, pak po získání zprávy metodou GetMailMessage jsou zprávy rušeny. Při false (implicitní hodnota), zprávy zůstavají na serveru. Metoda Reset ruší všechny příznaky rušení a tedy zprávy zrušené DeleteOnRead nebo DeleteMailMessage v průběhu současného sezení jsou obnoveny. | Published | Run time, Design Time |
property MailCount: integer; | Vlastnost obsahuje počet zpráv na serveru pro daného uživatele. Hodnota je nastavena po připojení na server. | Public | Run time |
property MailMessage: TMailMessage; | Vlastnost je nastavena voláním GetMailMessage. Obsahuje data, tvořící získanou e-mail zprávu. Informace je nutno zpracovat před dalším voláním GetMailMessage. | Public | Runtime, Read-Only |
property Password: string; | Vlastnost specifikuje heslo požadované metodou Connect pro připojení na mail server. Heslo musí odpovídat identifikaci uživatele specifikovaného ve vlastnosti UserID. Pokud heslo je chybné, pak vzniká událost OnAutenticationFailed. Jestliže heslo není zadáno vzniká OnAutenticationNeeded. | Published | RunTime, DesignTime |
property Summary: TSummary; | Vlastnost obsahuje souhrnné informace o e-mail zprávě. K získání celé e-mail zprávy voláme metodu GetMailMessage. Tato vlastnost je nastavena po volání GetSummary a obsahuje souhrnné informace z posledního úspěšného získání souhrnné zprávy. Informace je nutno zpracovat před dalším voláním GetSummary. | Public | RunTime, ReadOnly |
property UserID: string; | Vlastnost specifikuje identifikaci uživatele požadovanou metodou Connect pro připojení na mail server. Pokud uživatel nemá účet na specifikovaném mail serveru (nebo je chybné heslo), pak vzniká událost OnAutenticationFailed. Pokud uživatel není specifikován vzniká událost OnAuthenticationNeeded. | Published | RunTime, DesignTime |
Komponenta má následující metody:
function UniqueID(MailNumber: integer): string;
Metoda vrací identifikaci zprávy pro zprávu specifikovanou
parametrem (číslo zprávy; může nabývat hodnot od 1 do hodnoty MailCount).
procedure DeleteMailMessage(MailNumber: integer);
Metoda ruší zprávu na mail serveru specifikovanou parametrem
(číslo zprávy). V případě úspěchu vzniká OnSuccess a v případě neúspěchu
OnFailure.
Zrušené zprávy nejsou skutečně zrušeny do odpojení. Metodou
Reset
obnovíme všechny zrušené zprávy v průběhu současného sezení.
procedure GetMailMessage(MailNumber: integer);
Metoda získává mail zprávu určenou parametrem (číslo
zprávy) a ukládá její data do vlastnosti MailMessage. Pokud nastane
chyba, pak je generována výjimka. Pokud není zřízeno připojení, pak nastává
OnConnectionRequired.
Při zahájení získávání zprávy vzniká událost
OnRetrieveStart a při
dokončení získávání událost OnRetrieveEnd. Jestliže zpráva je získána
úspěšně, pak vzniká OnSuccess. Když DeleteOnRead je nastaveno
na true, pak volání GetMailMessage také označuje získanou
zprávu jako zrušenou.
procedure GetSummary(MailNumber: integer);
Metoda získává souhrn zprávy pro zprávu specifikovanou
parametrem (číslo zprávy) a ukládá souhrn do vlastnosti Summary.
Pokud nastane chyba, pak je generována výjimka. Pokud není zřízeno připojení,
pak nastává OnConnectionRequired. Při zahájení získávání souhrnu
zprávy vzniká událost OnRetrieveStart a při dokončení získávání
událost OnRetrieveEnd. Jestliže souhrn zprávy je získán úspěšně,
pak vzniká OnSuccess.
procedure List;
Metoda získává seznam čísel zpráv a jejich velikosti.
Pro každou zprávu v seznamu vzniká událost OnList (číslo zprávy
a velikost jsou předány jako parametry). Pokud nastane chyba, pak je generována
výjimka. Pokud není zřízeno připojení, pak nastává OnConnectionRequired.
procedure Reset;
Metoda odvolává zrušení všech zpráv označených k zrušení
metodou DeleteMailMessage nebo metodou GetMailMessage s DeleteOnRead
nastaveným na
true v průběhu současného sezení. Při chybě je generována
výjimka. Pokud není zřízeno připojení, pak nastává OnConnectionRequired.
V případě úspěchu vzniká událost OnReset.
Komponenta má následující události:
property OnAuthenticationFailed: THandlerEvent;
Událost nastává, když POP3 server vyžaduje identifikaci
uživatele a heslo a je poskytnuta chybná dvojice těchto informací. Pokud
Handled
je nastaveno na true, pak pokus o připojení je zopakován. Je-li
Handled
nastaveno na false, pak je generována výjimka a připojení je zrušeno.
property OnAuthenticationNeeded: THandlerEvent;
Událost nastává, když je požadována identifikace uživatele
a heslo a něco z toho není poskytnuto. Pokud Handled je nastaveno
na true, pak pokus o připojení je zopakován. Je-li Handled
nastaveno na false, pak je generována výjimka.
property OnFailure: TNotifyEvent;
Událost vzniká při neúspěchu operace (zrušení mail zprávy
nebo získávání identifikace zprávy).
property OnList: TListEvent;
Událost nastává s předáváním velikosti a čísla zprávy
pro každou zprávu při volání metody List. Parametr Msg je
identifikace zprávy, kterou předáváme metodám typu GetMailMessage
nebo DeleteMailMessage. Parametr Size je velikost zprávy
ve slabikách.
property OnReset: TNotifyEvent;
Událost nastává po úspěšném volání metody Reset.
Tato událost oznamuje, že všechny zprávy označené jako zrušené, již takto
označeny nejsou.
property OnRetrieveEnd: TNotifyEvent;
Událost nastává, když mail zpráva nebo sumář zprávy je
kompletně získán.
property OnRetrieveStart: TNotifyEvent;
Událost nastává, když je zahájeno získávání zprávy.
property OnSuccess: TNotifyEvent;
Událost nastává, když zpráva je úspěšně označena jako
zrušená, metodou
DeleteMailMessage.
property Attachments: TStringList; | Vlastnost specifikuje seznam souborů připojených k odcházející e-mail zprávě. Je povoleno pouze jedno jméno souboru na řádku. |
property Body: TStringlist; | Vlastnost obsahuje tělo zprávy určené k odeslání. |
property Date: string; | Vlastnost specifikuje datum odeslání e-mail. Pokud je vlastnost prázdná, pak je naplněna současným datumem. |
property FromAddress: string; | Vlastnost specifikuje e-mail adresu odesilatele zprávy. |
property FromName: string; | Vlastnost specifikuje jméno odesilatele e-mail zprávy. |
property LocalProgram: string; | Vlastnost specifikuje jméno aplikace odesílající e-mail. Je uloženo v části X-Mailer hlavičky. |
property ReplyTo: string; | Vlastnost specifikuje e-mail adresy, které budou požity při odpovídání na zprávu. |
property Subject: string; | Vlastnost obsahuje subjekt odesílané e-mail zprávy. |
property ToAddress: TStringlist; | Vlastnost specifikuje adresáty e-mail zprávy. Může být pouze jedna e-mail adresa na řádku. |
property ToBlindCarbonCopy: TStringlist; | Vlastnost specifikuje adresáty zprávy jimž je zpráva zasílána neočekávaně pouze na vědomí. Může být pouze jedna e-mail adresa na řádku. |
property ToCarbonCopy: TStringlist; | Vlastnost specifikuje adresáty zprávy jimž je zpráva zasílána pouze na vědomí. Může být pouze jedna e-mail adresa na řádku. |
property ClearParams: boolean; | Vlastnost specifikuje zda položky vlastnosti PostMessage budou vyprázdněny po odeslání zprávy (true - implicitně) nebo ne (false). | Published | Runtime, Designtime |
property EncodeType: UUMethods; | Vlastnost specifikuje jaký typ kódování TNMSMTP bude použit ke kódování souborů připojených k e-mail zprávě. Jsou možné pouze dvě volby: uuMime (implicitně), které používá kódování MIME base 64 a uuCode, které používá kódování UUEncode. | Published | Runtime, Designtime |
property FinalHeader: TExStringList; | Vlastnost reprezentuje hlavičku, která je aktuálně odesílána s tělem e-mail zprávy. Tato vlastnost může být prohlížena a modifikována v obsluze události OnSendStart. | Public | Runtime |
property PostMessage: TPostMessage; | Vlastnost obsahuje zprávu, která je odesílána. Pokud ClearParams je true, pak když metoda SendMail kompletuje zprávu, obsah vlastnosti PostMessage je vyprazdňován. | Published | Runtime, Designtime |
property UserID: string; | Vlastnost specifikuje identifikaci uživatele pro přihlášení k hostiteli SMTP. Není nutné pro přihlášení ke všem serverům SMTP, ale většina serverů neumožní odesílání zpráv bez přípustné identifikace uživatele. Pokud identifikace je požadována a není dodána vzniká OnAutenticationFailed. | Published | Runtime, Designtime |
Komponenta má následující metody:
function ExpandList(MailList: string): boolean;
Metoda je používána k získání členů poštovního seznamu
na SMTP serveru. Parametr specifikuje seznam k získání jmen nebo adres.
Když adresy jsou vráceny z hostitele SMTP, pak vzniká událost OnMailListReturn.
function ExtractAddress(TotalAddress: string): string;
Metoda extrahuje e-mail adresu z řetězce. Je obvykle
používána v interním zpracování, ale je veřejná a může být používána kdekoliv.
Parametr specifikuje rozkládaný řetězec. Tato funkce přebírá řetězec formátovaný
následujícím způsobem:
Persons Name <email@host.ext>
Persons Name:email@host.ext
Metoda nevyžaduje připojení na hostitele SMTP.
function Verify(UserName: string): boolean;
Metoda se používá k ověření existence uživatele na hostiteli
SMTP. Parametr specifikuje uživatele k ověření. Některé hostitelé požadují
pouze jméno uživatele (jméno před @ v adrese), zatímco někteří jiní hostitelé
požadují celou adresu k ověření. Pokud uživatel je nalezen, pak je vráceno
true,
jinak je vraceno false.
procedure ClearParameters;
Metoda vyprazdňuje obsah vlastnosti PostMessage.
Položky ToAddress,
ToCarbonCopy,
ToBlindCarbonCopy
a Attachments jsou vyprázdněny. K vyprázdnění položky Body
voláme PostMessage->Body->Clear(). Metoda je volána automaticky
po každém volání SendMail, pokud vlastnost
ClearParams je
nastavena na true.
procedure SendMail;
Metoda odesílá e-mail zprávu definovanou vlastností PostMessage.
Pokud ClearParams je nastavena na true, pak při odeslání
zprávy je volána metoda ClearParameters. Bezprostředně před odesláním
zprávy vzniká OnSendStart. Jestliže zpráva je úspěšně odeslána,
pak vzniká OnSuccess a při neúspěchu vzniká OnFailureEvent.
Komponenta má tyto události:
property OnAuthenticationFailed: THandlerEvent;
Událost nastává při pokusu klienta připojit se ke vzdálenému
hostiteli při zadání chybné identifikace nebo chybného hesla. Pokud parametr
Handled
je nastaven na true, pak je zopakován pokus o autentizaci. Jestliže
tento druhý pokus je stále neúspěšný, pak je generována výjimka. Pokud
Handled
je nastaven na false (implicitně), pak je generována výjimka a připojení
je neúspěšné.
property OnFailure: TNotifyEvent;
Událost nastává, když odcházející e-mail zpráva není
odeslána úspěšně.
property OnSendStart: TNotifyEvent;
Událost nastává bezprostředně před odesláním e-mail zprávy.
Je to poslední možnost modifikovat odcházející zprávu.
property OnSuccess: TNotifyEvent;
Událost nastává při úspěšném odeslání e-mail zprávy.
property OnAttachmentNotFound: TFileItem;
Událost nastává, když soubor připojený k odcházející
e-mail zprávě není nalezen. Parametr TFileItem může identifikovat
chybějící soubor.
property OnEncodeEnd: TFileItem;
Událost nastává, když soubor připojený k odcházející
e-mail zprávě je kompletně zakódován pro přenos. Parametr TFileItem
určuje jméno právě zakódovaného souboru.
property OnEncodeStart: TFileItem;
Událost nastává, když připojený soubor bude kódován pro
přenos. Parametr
TFileItem určuje jméno právě kódovaného souboru.
property OnHeaderIncomplete: THeaderInComplete;
Událost nastává, když některá z následujících vlastností
PostMessage
je prázdná:
property OnMailListReturn: TMailListReturn;
Událost nastává, když metoda ExpandList získává
e-mail addresy. Adresy jsou předány jako parametr.
property OnRecipientNotFound: TRecipientNotFound;
Událost nastává, když některý z adresátů specifikovaných
ve vlastnosti
PostMessage (ToAddress, ToCarbonCopy
nebo ToBlindCarbonCopy) není nalezen. Nenalezená adresa je předána
jako parametr.
property InputStream: TStream; | Vlastnost specifikuje kódovaný nebo dekódovaný proud. Musí být nastavena dříve než voláme metodu Encode nebo Decode. | Published | RunTime |
property Method: UUMethods; | Vlastnost určuje použitou metodu kódování. Možné hodnoty jsou uuMime (implicitně) a uuCode. | Published | DesignTime, RunTime |
property OutputStream: TFileStream; | Vlastnost specifikuje proud pro uložení výsledného souboru. Musí být nastavena dříve než voláme metodu Encode nebo Decode. | Published | RunTime |
Komponenta má následující metody:
procedure Decode;
Metoda dekóduje proud dat specifikovaný vlastností InputStream,
pomocí metody určené vlastností Method a ukládá data do proudu specifikovaného
vlastností OutputStream.
procedure Encode;
Metoda kóduje proud dat specifikovaný vlastností InputStream,
pomocí metody určené vlastností Method a ukládá data do proudu specifikovaného
vlastností OutputStream.
Komponenta má události:
procedure OnBeginDecode: TNotifyEvent;
Událost nastává při zahájení dekódování.
procedure OnBeginEncode: TNotifyEvent;
Událost nastává při zahájení kódování.
procedure OnEndDecode: TNotifyEvent;
Událost nastává při dokončení dekodování.
procedure OnEndEncode: TNotifyEvent;
Událost nastává při dokončení kódování.
property FromName: string; | Vlastnost specifikuje jméno odesilatele odcházejícího proudu. Tato hodnota je použita serverem, aby věděl od koho data pocházejí. | Published | Runtime, designtime |
metodu
function PostIt(const sStrm: TStream): string;
která odesílá proud určený parametrem na vzdáleného hostitele
specifikovaného vlastností Host. Parametr je TStream (nebo
jeho potomek), který obsahuje odesílaná data. Vrácená hodnota je odpověď
OK od serveru, pokud proud byl přijat správně. Metoda zpracovává všechna
připojení/odpojení na vzdáleného hostitele. Když zpráva byla odeslána,
pak nastává událost
OnMessageSent.
a událost
property OnMessageSent: TNotifyEvent;
Událost vzniká, když metoda PostIt byla provedena
úspěšně.
property OnMSG: TStrmEvent;
Událost nastává, když proud je přijat. Parametr sFrom
specifikuje jméno odesilatele proudu a parametr strm je přijatý
proud. Data z proudu v parametru strm musíme přečíst před ukončením
události, jinak jsou ztracena.
property LocalPort: integer; | Vlastnost specifikuje číslo portu k naslouchání zasílaným paketům datagramu. Tato vlastnost může být nastavena na 0, pokud již přijímáme UDP data. | Published | Runtime*, design-time |
property RemoteHost: string; | Vlastnost specifikuje tečkovou IP adresu nebo jméno hostitele vzdáleného počítače, který je cílem metod SendBuffer a SendStream. | Published | Runtime, design-time |
property RemotePort: integer; | Vlastnost specifikuje port na vzdáleném hostiteli k zasílání dat pomocí metod SendBuffer a SendStream. | Published | Runtime, design-time |
property ReportLevel: integer; | Vlastnost určuje úroveň podrobnosti stavových zpráv oznamovaných událostí OnStatus. Možné hodnoty jsou: Status_None, Status_Informational (implicitní), Status_Basic, Status_Routines, Status_Debug, Status_Trace. | Published | Runtime, design-time |
*Tato vlastnost může být nastavována pouze během návrhu. Pokud komponenta je vytvářena dynamicky v našem kódu (pomocí metody Create), pak vlastnost LocalPort musí být nastavena zde.
Komponenta má následující metody:
constructor Create(AOwner: TComponent); override;
Metoda alokuje paměť a vytváří bezpečnou instanci komponenty
TNMUDP.
destructor Destroy; override;
Ve své aplikaci nevoláme metodu Destroy, musíme
volat Free. Metoda Destroy uvolňuje komponentu TNMUDP
a jí vlastněné komponeny.
procedure ReadBuffer(var Buff: array of char; var length: integer);
Metoda čte přicházející UDP data do vyrovnávací paměti
specifikované prvním parametrem. Druhý parametr určuje velikost vyrovnávací
paměti.
procedure ReadStream(DataStream: TStream);
Metoda je používána pro čtení UDP dat přijatých ze vzdáleného
počítače do proudu určeného parametrem (TStream nebo jeho potomek).
procedure SendBuffer(Buff: array of char; length: integer);
Metoda je určena pro odeslání pole znaků na vzdáleného
hostitele. Znaky jsou uloženy v poli určeném prvním parametrem a jejich
počet je určen druhým parametrem. Pokud pole neobsahuje data vzniká OnBufferInvalid.
procedure SendStream(DataStream: TStream);
Metoda je určena k odeslání proudu dat určeného parametrem
(TStream nebo jeho potomek) na vzdáleného hostitele. Pokud proud
neobsahuje data vzniká OnStreamInvalid.
Komponenta má tyto události:
property OnBufferInvalid: TBuffInvalid;
Událost nastává, pokud vyrovnávací paměť odesílaná metodou
SendBuffer
neobsahuje data. Parametr Buff je odesílaná vyrovnávací paměť a
parametr length je velikost vyrovnávací paměti. Tyto parametry mohou
být v obsluze události modifikovány tak, aby určovaly přípustnou vyrovnávací
paměť. Po jejich modifikaci můžeme nastavit parametr handled na
true
k opětovnému pokusu o odeslání dat. Pokud parametr handled je false
(implicitně), je generována výjimka.
property OnDataReceived: TOnReceive;
Událost nastává, když data jsou přijata. Parametr NumberBytes
specifikuje počet přijatých slabik, FromIP specifikuje IP adresu
odesilatele a Port určuje port, který odeslal data.
property OnStatus: TOnStatus;
Událost vzniká, když stav komponenty se změní. Parametr
status
je současný stav komponenty.
property OnStreamInvalid: TStreamInvalid;
Událost nastává, pokud proud odeslaný metodou SendStream
neobsahuje data. Parametr Stream je proud neobsahující data. Můžeme
jej naplnit daty a parametr handled nastavit na true pro
opětovné odeslání dat. Pokud parametr handled je false (implicitně),
je generována výjimka.
property OnDataSend: TNotifyEvent;
Událost nastává, když data byla úspěšně odeslána (není
tím ale zajištěno, že data budou přijata).
property OnInvalidHost: THandlerEvent;
Událost nastává, když vlastnost RemoteHost je
chybná. Pokud parametr handled je nastaven na true, pak data
jsou odeslána znova. Po druhém neúspěchu je generována výjimka. Jestliže
handled
je false pak je generována výjimka.
![]() ![]() ![]() |
|