TO ORDER:

ORDER
NOW
Contact Information:
CONTACT
US
Features
POP3 Client Operation
Server name resolution
Supports up to 5 contexts
Header Reception & Parsing
Message Text Reception
Asynchonous non-blocking Operation
MIME
v1.0 base64 binary file attachments
Secure
POP3 over SSL / TLS using POP3S or RFC 2595
POP3 COMMANDS
USER, PASS, STAT, LIST, UIDL, RETR, DELE, QUIT, TLS
customization
Hillstone Software provides additional
services for customization, porting and integration of the library code
to better suit the needs of your products
api summary
HsPop3Init
HsPop3Destroy
HsPop3Tick
HsPop3GetMail
HsPop3Abort
HsPop3Continue
HsPop3GetErrStr
HsPop3MimeMsgHasAttachments
HsPop3MimeGetMultiPartInfo
HsPop3MimeGetTextPart
HsPop3MimeGetBase64File
Secure POP3
Implementation Details
Secure POP3 over TLS / SSL
is implemented using 2 methods:
Support for SSL / TLS is
implemented in HsSock library (which is included with HsPop3).
HsSock library has a
compile option to incude SSL support or not. Is SSL support is compiled in,
HsSock library interfaces to OpenSSL API in order to manage SSL connections,
secure negotiation and data encryption and decryption.
OpenSSL binaries are
supplied with HS POP3 Demo application.
In order to compile HS POP3
library with SSL support user must have installed OpenSSL. The HS POP3
project file must be adjusted to point it to the OpenSSL header files
from correct directory.
SSL support is optional and
it is possible to use HS POP3 without OpenSSL. To do that HsSock compile
option must be changed not to include SSL support.
* This product
includes software developed by the OpenSSL Project for use in the OpenSSL
Toolkit
|
overview:
HS
POP3 is a software library
written in C (supplied
with full source code) which implements the client
side of Post Office Protocol Version 3 (POP3) over
TCP socket layer according to RFC
1939.
Among other features, the library supports user authentication, reception of internet headers and text, message deletion and statistics.
HS POP3
supports secure POP3 over TLS / SSL using two methods: POP3S (used by
Gmail) and RFC 2595
HS POP3
supports extracting binary file attachments in MIME v1.0 base64 format.
The use of
HS POP3
C Source Library is Royalty
Free

how it works
First user application calls HS POP3 initialisation function supplying pointers to callback functions in user code for memory and timer management and for
reporting POP3 events to user.
To receive email messages from any POP3 RFC1939 compliant server, the user application calls HsPop3GetMail function, specifying mail server name or IP address, login user name and password.
HS POP3 library then resolves the server name, connects to it and receives message scan list according to RFC1939 standard. Once HS POP3 has a unique message ID
from the server, it reports this message ID to user application via callback function. The user application returns a specific value if it wants to receive this message.
At this point HS POP3 will request necessary amount of memory for the message and will receive
the complete message into the buffer. Once the message is received, the
user code is notified with a callback passing a message structure, containing full message pointer, message length, start of text pointer, length of headers and separate parsed out header information:
from field, date field, message id field and subject field. This process is repeated until all messages are received. HS POP3 library can also delete messages from server if this option is specified.
HS POP3 Library incorporates the necessary state machine, transparency procedures, and server response processing required to comply to a simple and robust POP3 client implementation.
Modular design makes it easy to port HS POP3 protocol module to any environment. HS POP3 internally at a lower layer interfaces to HS Sock library which provides TCP transport services. User application need not worry about Winsock - HS POP3 does all transmission, reception and event handling over socket layer.
hs POP3 library
architecture
The library is a stand-alone module which links directly to customer application:

|