libspopc : a simple pop3 mail client library

libspopc is a simple and light pop3 mail client library used by small programs. one of libspopc's purposes is to help developpers to host easily a pop3 mail client in their programs. It appears that various projets use it, although it began as a toy library, and still given without any warranty at all. So, now libspopc support also SSL encrypted connections (thx to Jeff, and openssl), but it still can be built without SSL support for size reduction.

libspopc provides an easy-to-learn session interface, that c++ developer can easily wrap into a class. A socket-level interface (low-end) has been kept for those who prefer to manage sockets directly. I encourage to use the session-level interface, much more easy.

libspopc is released under the GNU Lesser General Public Licence (LGPLv2) and can be used by open-source programs as well as closed-source programs while the terms of the LGPL are respected.

This library works on many UNIX flavours (GNU/Linux, *BSD, ...), MacOS X, OpenVMS, and recent MS-windows versions (NT, 2000, XP). It can also be built on older MS-windows versions as well (95, 98, Me) when having the right DLLs (msvcrt), and compiled with the -DWIN32 preprocessor flag (no more tested, though).


The C API (programming interface)

libspopc has been written in C and provides two easy APIs for a thin pop3 client. The full (and latest) api is described in libspopc.h header file. The latest manual is availabe as text file in the source package. You can read the same file online: online libspopc manual to have a quick overview on how to code with libspopc.

Building on different systems

Building libspopc is easy with the provided Makefile. If you have broblems with building libspopc, you can try additionnal building files kindly provided by contributors:

Read the README file to know how to disable SSL, enable thread-safety, enable WIN32 support, etc..


Stable versions are avalable in the releases directory. You should use the higher version.

Developement of the library

libspopc is rather small and will stay small. It is only an RFC1939 implementation and a partial RFC2595 implementation.

fixes or enhancements are very welcomed: code is browseable at the libspopc subversion browser and checkoutable with:

$ svn co svn://
. I really encourage to send me your patches such that your improvements can be applied to the "canonical" code.

Further additionnal features will be bound to the pop3 extensions defined in the RFC2449.

Please read the README file and the Makefile to know all build options available.

Enjoy and stretch the toy :-)

Help wanted...

If you like it, i am always grateful for code review and patch inclusion to make a better code.

© 2002 Benoît Rouits