source: trunk/Packages/synapse/docs/help/smtpsend.TSMTPSend.html

Last change on this file was 2, checked in by chronos, 12 years ago
  • Přidáno: Základní kostra projektu.
  • Přidáno: Knihovna synapse.
File size: 22.0 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
2<html>
3<head>
4<meta name="GENERATOR" content="PasDoc 0.9.0">
5<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
6<title>smtpsend: Class TSMTPSend</title>
7<link rel="StyleSheet" type="text/css" href="pasdoc.css">
8</head>
9<body bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#FF0000">
10<a name="TSMTPSend"></a><h1 class="cio">Class TSMTPSend</h1>
11<table class="sections">
12<tr>
13<td><a class="section" href="#@Description">Description</a></td><td><a class="section" href="#@Hierarchy">Hierarchy</a></td><td>Fields</td><td><a class="section" href="#@Methods">Methods</a></td><td><a class="section" href="#@Properties">Properties</a></td></tr></table>
14<a name="@Description"></a><h2 class="unit">Unit</h2>
15<p class="unitlink">
16<a href="smtpsend.html">smtpsend</a></p>
17<h2 class="declaration">Declaration</h2>
18<p class="declaration">
19<code>type TSMTPSend = class(<a class="normal" href="blcksock.TSynaClient.html">TSynaClient</a>)</code></p>
20<h2 class="description">Description</h2>
21<p>
22Implementation of SMTP and ESMTP procotol</p>
23<p>
24, include some ESMTP extensions, include SSL/TLS too.
25
26<p>Note: Are you missing properties for setting Username and Password for ESMTP? Look to parent <a class="normal" href="blcksock.TSynaClient.html">TSynaClient</a> object!
27
28<p>Are you missing properties for specify server address and port? Look to parent <a class="normal" href="blcksock.TSynaClient.html">TSynaClient</a> too!</p>
29<a name="@Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2>
30<ul class="hierarchy"><li class="ancestor">TObject</li>
31<li class="ancestor"><a class="normal" href="blcksock.TSynaClient.html">TSynaClient</a></li>
32<li class="thisitem">TSMTPSend</li></ul><h2 class="overview">Overview</h2>
33<a name="@Methods"></a><h3 class="summary">Methods</h3>
34<table class="summary">
35<tr class="list">
36<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
37<td class="itemcode"><code>constructor <b><a href="smtpsend.TSMTPSend.html#Create">Create</a></b>;</code></td>
38</tr>
39<tr class="list2">
40<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
41<td class="itemcode"><code>destructor <b><a href="smtpsend.TSMTPSend.html#Destroy">Destroy</a></b>; override;</code></td>
42</tr>
43<tr class="list">
44<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
45<td class="itemcode"><code>function <b><a href="smtpsend.TSMTPSend.html#Login">Login</a></b>: Boolean;</code></td>
46</tr>
47<tr class="list2">
48<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
49<td class="itemcode"><code>function <b><a href="smtpsend.TSMTPSend.html#Logout">Logout</a></b>: Boolean;</code></td>
50</tr>
51<tr class="list">
52<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
53<td class="itemcode"><code>function <b><a href="smtpsend.TSMTPSend.html#Reset">Reset</a></b>: Boolean;</code></td>
54</tr>
55<tr class="list2">
56<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
57<td class="itemcode"><code>function <b><a href="smtpsend.TSMTPSend.html#NoOp">NoOp</a></b>: Boolean;</code></td>
58</tr>
59<tr class="list">
60<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
61<td class="itemcode"><code>function <b><a href="smtpsend.TSMTPSend.html#MailFrom">MailFrom</a></b>(const Value: string; Size: Integer): Boolean;</code></td>
62</tr>
63<tr class="list2">
64<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
65<td class="itemcode"><code>function <b><a href="smtpsend.TSMTPSend.html#MailTo">MailTo</a></b>(const Value: string): Boolean;</code></td>
66</tr>
67<tr class="list">
68<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
69<td class="itemcode"><code>function <b><a href="smtpsend.TSMTPSend.html#MailData">MailData</a></b>(const Value: Tstrings): Boolean;</code></td>
70</tr>
71<tr class="list2">
72<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
73<td class="itemcode"><code>function <b><a href="smtpsend.TSMTPSend.html#Etrn">Etrn</a></b>(const Value: string): Boolean;</code></td>
74</tr>
75<tr class="list">
76<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
77<td class="itemcode"><code>function <b><a href="smtpsend.TSMTPSend.html#Verify">Verify</a></b>(const Value: string): Boolean;</code></td>
78</tr>
79<tr class="list2">
80<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
81<td class="itemcode"><code>function <b><a href="smtpsend.TSMTPSend.html#StartTLS">StartTLS</a></b>: Boolean;</code></td>
82</tr>
83<tr class="list">
84<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
85<td class="itemcode"><code>function <b><a href="smtpsend.TSMTPSend.html#EnhCodeString">EnhCodeString</a></b>: string;</code></td>
86</tr>
87<tr class="list2">
88<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
89<td class="itemcode"><code>function <b><a href="smtpsend.TSMTPSend.html#FindCap">FindCap</a></b>(const Value: string): string;</code></td>
90</tr>
91</table>
92<a name="@Properties"></a><h3 class="summary">Properties</h3>
93<table class="summary">
94<tr class="list">
95<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
96<td class="itemcode"><code>property <b><a href="smtpsend.TSMTPSend.html#ResultCode">ResultCode</a></b>: Integer read FResultCode;</code></td>
97</tr>
98<tr class="list2">
99<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
100<td class="itemcode"><code>property <b><a href="smtpsend.TSMTPSend.html#ResultString">ResultString</a></b>: string read FResultString;</code></td>
101</tr>
102<tr class="list">
103<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
104<td class="itemcode"><code>property <b><a href="smtpsend.TSMTPSend.html#FullResult">FullResult</a></b>: TStringList read FFullResult;</code></td>
105</tr>
106<tr class="list2">
107<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
108<td class="itemcode"><code>property <b><a href="smtpsend.TSMTPSend.html#ESMTPcap">ESMTPcap</a></b>: TStringList read FESMTPcap;</code></td>
109</tr>
110<tr class="list">
111<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
112<td class="itemcode"><code>property <b><a href="smtpsend.TSMTPSend.html#ESMTP">ESMTP</a></b>: Boolean read FESMTP;</code></td>
113</tr>
114<tr class="list2">
115<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
116<td class="itemcode"><code>property <b><a href="smtpsend.TSMTPSend.html#AuthDone">AuthDone</a></b>: Boolean read FAuthDone;</code></td>
117</tr>
118<tr class="list">
119<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
120<td class="itemcode"><code>property <b><a href="smtpsend.TSMTPSend.html#ESMTPSize">ESMTPSize</a></b>: Boolean read FESMTPSize;</code></td>
121</tr>
122<tr class="list2">
123<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
124<td class="itemcode"><code>property <b><a href="smtpsend.TSMTPSend.html#MaxSize">MaxSize</a></b>: Integer read FMaxSize;</code></td>
125</tr>
126<tr class="list">
127<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
128<td class="itemcode"><code>property <b><a href="smtpsend.TSMTPSend.html#EnhCode1">EnhCode1</a></b>: Integer read FEnhCode1;</code></td>
129</tr>
130<tr class="list2">
131<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
132<td class="itemcode"><code>property <b><a href="smtpsend.TSMTPSend.html#EnhCode2">EnhCode2</a></b>: Integer read FEnhCode2;</code></td>
133</tr>
134<tr class="list">
135<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
136<td class="itemcode"><code>property <b><a href="smtpsend.TSMTPSend.html#EnhCode3">EnhCode3</a></b>: Integer read FEnhCode3;</code></td>
137</tr>
138<tr class="list2">
139<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
140<td class="itemcode"><code>property <b><a href="smtpsend.TSMTPSend.html#SystemName">SystemName</a></b>: string read FSystemName Write FSystemName;</code></td>
141</tr>
142<tr class="list">
143<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
144<td class="itemcode"><code>property <b><a href="smtpsend.TSMTPSend.html#AutoTLS">AutoTLS</a></b>: Boolean read FAutoTLS Write FAutoTLS;</code></td>
145</tr>
146<tr class="list2">
147<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
148<td class="itemcode"><code>property <b><a href="smtpsend.TSMTPSend.html#FullSSL">FullSSL</a></b>: Boolean read FFullSSL Write FFullSSL;</code></td>
149</tr>
150<tr class="list">
151<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
152<td class="itemcode"><code>property <b><a href="smtpsend.TSMTPSend.html#Sock">Sock</a></b>: <a href="blcksock.TTCPBlockSocket.html">TTCPBlockSocket</a> read FSock;</code></td>
153</tr>
154</table>
155<h2 class="description">Description</h2>
156<h3 class="detail">Methods</h3>
157<table class="detail">
158<tr class="list">
159<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
160<td class="itemcode"><a name="Create"></a><code>constructor <b>Create</b>;</code></td>
161</tr>
162</table>
163&nbsp;<table class="detail">
164<tr class="list">
165<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
166<td class="itemcode"><a name="Destroy"></a><code>destructor <b>Destroy</b>; override;</code></td>
167</tr>
168</table>
169&nbsp;<table class="detail">
170<tr class="list">
171<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
172<td class="itemcode"><a name="Login"></a><code>function <b>Login</b>: Boolean;</code></td>
173</tr>
174</table>
175<p>
176Connects to SMTP server (defined in <a class="normal" href="blcksock.TSynaClient.html">TSynaClient</a>.<a class="normal" href="blcksock.TSynaClient.html#TargetHost">TargetHost</a>) and begin SMTP session. (First try ESMTP EHLO, next old HELO handshake). Parses ESMTP capabilites and if you specified Username and password and remote server can handle AUTH command, try login by AUTH command. Preffered login method is CRAM-MD5 (if safer!). If all OK, result is <code>True</code>, else result is <code>False</code>.</p>
177<table class="detail">
178<tr class="list">
179<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
180<td class="itemcode"><a name="Logout"></a><code>function <b>Logout</b>: Boolean;</code></td>
181</tr>
182</table>
183<p>
184Close SMTP session (QUIT command) and disconnect from SMTP server.</p>
185<table class="detail">
186<tr class="list">
187<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
188<td class="itemcode"><a name="Reset"></a><code>function <b>Reset</b>: Boolean;</code></td>
189</tr>
190</table>
191<p>
192Send RSET SMTP command for reset SMTP session. If all OK, result is <code>True</code>, else result is <code>False</code>.</p>
193<table class="detail">
194<tr class="list">
195<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
196<td class="itemcode"><a name="NoOp"></a><code>function <b>NoOp</b>: Boolean;</code></td>
197</tr>
198</table>
199<p>
200Send NOOP SMTP command for keep SMTP session. If all OK, result is <code>True</code>, else result is <code>False</code>.</p>
201<table class="detail">
202<tr class="list">
203<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
204<td class="itemcode"><a name="MailFrom"></a><code>function <b>MailFrom</b>(const Value: string; Size: Integer): Boolean;</code></td>
205</tr>
206</table>
207<p>
208Send MAIL FROM SMTP command for set sender e-mail address. If sender's e-mail address is empty string, transmited message is error message.
209
210<p>If size not 0 and remote server can handle SIZE parameter, append SIZE parameter to request. If all OK, result is <code>True</code>, else result is <code>False</code>.</p>
211<table class="detail">
212<tr class="list">
213<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
214<td class="itemcode"><a name="MailTo"></a><code>function <b>MailTo</b>(const Value: string): Boolean;</code></td>
215</tr>
216</table>
217<p>
218Send RCPT TO SMTP command for set receiver e-mail address. It cannot be an empty string. If all OK, result is <code>True</code>, else result is <code>False</code>.</p>
219<table class="detail">
220<tr class="list">
221<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
222<td class="itemcode"><a name="MailData"></a><code>function <b>MailData</b>(const Value: Tstrings): Boolean;</code></td>
223</tr>
224</table>
225<p>
226Send DATA SMTP command and transmit message data. If all OK, result is <code>True</code>, else result is <code>False</code>.</p>
227<table class="detail">
228<tr class="list">
229<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
230<td class="itemcode"><a name="Etrn"></a><code>function <b>Etrn</b>(const Value: string): Boolean;</code></td>
231</tr>
232</table>
233<p>
234Send ETRN SMTP command for start sending of remote queue for domain in Value. If all OK, result is <code>True</code>, else result is <code>False</code>.</p>
235<table class="detail">
236<tr class="list">
237<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
238<td class="itemcode"><a name="Verify"></a><code>function <b>Verify</b>(const Value: string): Boolean;</code></td>
239</tr>
240</table>
241<p>
242Send VRFY SMTP command for check receiver e-mail address. It cannot be an empty string. If all OK, result is <code>True</code>, else result is <code>False</code>.</p>
243<table class="detail">
244<tr class="list">
245<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
246<td class="itemcode"><a name="StartTLS"></a><code>function <b>StartTLS</b>: Boolean;</code></td>
247</tr>
248</table>
249<p>
250Call STARTTLS command for upgrade connection to SSL/TLS mode.</p>
251<table class="detail">
252<tr class="list">
253<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
254<td class="itemcode"><a name="EnhCodeString"></a><code>function <b>EnhCodeString</b>: string;</code></td>
255</tr>
256</table>
257<p>
258Return string descriptive text for enhanced result codes stored in <a class="normal" href="smtpsend.TSMTPSend.html#EnhCode1">EnhCode1</a>, <a class="normal" href="smtpsend.TSMTPSend.html#EnhCode2">EnhCode2</a> and <a class="normal" href="smtpsend.TSMTPSend.html#EnhCode3">EnhCode3</a>.</p>
259<table class="detail">
260<tr class="list">
261<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
262<td class="itemcode"><a name="FindCap"></a><code>function <b>FindCap</b>(const Value: string): string;</code></td>
263</tr>
264</table>
265<p>
266Try to find specified capability in ESMTP response.</p>
267<h3 class="detail">Properties</h3>
268<table class="detail">
269<tr class="list">
270<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
271<td class="itemcode"><a name="ResultCode"></a><code>property <b>ResultCode</b>: Integer read FResultCode;</code></td>
272</tr>
273</table>
274<p>
275result code of last SMTP command.</p>
276<table class="detail">
277<tr class="list">
278<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
279<td class="itemcode"><a name="ResultString"></a><code>property <b>ResultString</b>: string read FResultString;</code></td>
280</tr>
281</table>
282<p>
283result string of last SMTP command (begin with string representation of result code).</p>
284<table class="detail">
285<tr class="list">
286<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
287<td class="itemcode"><a name="FullResult"></a><code>property <b>FullResult</b>: TStringList read FFullResult;</code></td>
288</tr>
289</table>
290<p>
291All result strings of last SMTP command (result is maybe multiline!).</p>
292<table class="detail">
293<tr class="list">
294<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
295<td class="itemcode"><a name="ESMTPcap"></a><code>property <b>ESMTPcap</b>: TStringList read FESMTPcap;</code></td>
296</tr>
297</table>
298<p>
299List of ESMTP capabilites of remote ESMTP server. (If you connect to ESMTP server only!).</p>
300<table class="detail">
301<tr class="list">
302<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
303<td class="itemcode"><a name="ESMTP"></a><code>property <b>ESMTP</b>: Boolean read FESMTP;</code></td>
304</tr>
305</table>
306<p>
307<code>True</code> if you successfuly logged to ESMTP server.</p>
308<table class="detail">
309<tr class="list">
310<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
311<td class="itemcode"><a name="AuthDone"></a><code>property <b>AuthDone</b>: Boolean read FAuthDone;</code></td>
312</tr>
313</table>
314<p>
315<code>True</code> if you successfuly pass authorisation to remote server.</p>
316<table class="detail">
317<tr class="list">
318<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
319<td class="itemcode"><a name="ESMTPSize"></a><code>property <b>ESMTPSize</b>: Boolean read FESMTPSize;</code></td>
320</tr>
321</table>
322<p>
323<code>True</code> if remote server can handle SIZE parameter.</p>
324<table class="detail">
325<tr class="list">
326<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
327<td class="itemcode"><a name="MaxSize"></a><code>property <b>MaxSize</b>: Integer read FMaxSize;</code></td>
328</tr>
329</table>
330<p>
331When <a class="normal" href="smtpsend.TSMTPSend.html#ESMTPSize">ESMTPSize</a> is <code>True</code>, contains max length of message that remote server can handle.</p>
332<table class="detail">
333<tr class="list">
334<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
335<td class="itemcode"><a name="EnhCode1"></a><code>property <b>EnhCode1</b>: Integer read FEnhCode1;</code></td>
336</tr>
337</table>
338<p>
339First digit of Enhanced result code. If last operation does not have enhanced result code, values is 0.</p>
340<table class="detail">
341<tr class="list">
342<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
343<td class="itemcode"><a name="EnhCode2"></a><code>property <b>EnhCode2</b>: Integer read FEnhCode2;</code></td>
344</tr>
345</table>
346<p>
347Second digit of Enhanced result code. If last operation does not have enhanced result code, values is 0.</p>
348<table class="detail">
349<tr class="list">
350<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
351<td class="itemcode"><a name="EnhCode3"></a><code>property <b>EnhCode3</b>: Integer read FEnhCode3;</code></td>
352</tr>
353</table>
354<p>
355Third digit of Enhanced result code. If last operation does not have enhanced result code, values is 0.</p>
356<table class="detail">
357<tr class="list">
358<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
359<td class="itemcode"><a name="SystemName"></a><code>property <b>SystemName</b>: string read FSystemName Write FSystemName;</code></td>
360</tr>
361</table>
362<p>
363name of our system used in HELO and EHLO command. Implicit value is internet address of your machine.</p>
364<table class="detail">
365<tr class="list">
366<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
367<td class="itemcode"><a name="AutoTLS"></a><code>property <b>AutoTLS</b>: Boolean read FAutoTLS Write FAutoTLS;</code></td>
368</tr>
369</table>
370<p>
371If is set to true, then upgrade to SSL/TLS mode if remote server support it.</p>
372<table class="detail">
373<tr class="list">
374<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
375<td class="itemcode"><a name="FullSSL"></a><code>property <b>FullSSL</b>: Boolean read FFullSSL Write FFullSSL;</code></td>
376</tr>
377</table>
378<p>
379SSL/TLS mode is used from first contact to server. Servers with full SSL/TLS mode usualy using non-standard TCP port!</p>
380<table class="detail">
381<tr class="list">
382<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
383<td class="itemcode"><a name="Sock"></a><code>property <b>Sock</b>: <a href="blcksock.TTCPBlockSocket.html">TTCPBlockSocket</a> read FSock;</code></td>
384</tr>
385</table>
386<p>
387Socket object used for TCP/IP operation. Good for seting OnStatus hook, etc.</p>
388<hr noshade size="1"><span class="appinfo"><em>Generated by <a target="_parent" href="http://pasdoc.sourceforge.net/">PasDoc 0.9.0</a> on 2012-04-23 21:38:51</em>
389</span>
390</body></html>
Note: See TracBrowser for help on using the repository browser.