Unit pop3cli

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Author: François PIETTE Object: TPop3Client class implements the POP3 protocol (RFC-1225, RFC-1939) EMail: francois.piette@ping.be francois.piette@rtfm.be WebSite: http://www.rtfm.be/fpiette Creation: 03 october 1997 Version: 1.15 Support: Use twsocket@rtfm.be mailing list. See website for details. Legal issues: Copyright (C) 1997 by François PIETTE This software is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented, you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. Updates: Sept 09, 1997 Modified TOP to be able to request 0 lines (bug reported by damien@jetman.demon.co.uk) Oct 10, 1997 V1.10. Published ProtocolState property, made TOP command complies with RFC-1939 as suggested by damien@jetman.demon.co.uk Implemented the UIDL command. Oct 11, 1997 V1.11 Implemented the APOP command, but not tested because no server available to test it. Made internal error message look like POP3 error messages (-ERR) Oct 28, 1997 V1.12 Modified TWSocket to handle line buffer overflow and TPop3Client to handle that in GetMultiLine. Jan 10, 1998 V1.13 Made FWSocket accessible with a read only property. This eases DNSLookup without a supplementary TWSocket. Added a Port property. Apr 01, 1998 V1.14 Adapted for BCB V3 May 05, 1998 V1.15 Changed GetMultiLine to correctly handle double dots at line start. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Classes

TPop3Client -

Functions

Register - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Types

TPop3Display
TPop3Method
TPop3State

Constants

Pop3CliVersion

Variables


Functions


procedure Register;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Types


TPop3Display  = procedure(Sender: TObject; Msg : String) of object

TPop3Method   = function : boolean of object

TPop3State    = (pop3Disconnected, pop3WaitingUser, pop3WaitingPass, pop3Transaction, pop3Update);

Constants

Pop3CliVersion = 115

Enable partial boolean evaluation } {$T-} { Untyped pointers } {$IFNDEF VER80} { Not for Delphi 1 } {$J+} { Allow typed constant to be modified } {$ENDIF

Variables