The purpose of this mail library is to provide a portable, efficient middleware for different kinds of mail access (IMAPrev4, POP3, NNTP, mbox, MH, Maildir).
You have two kinds of mailbox access, either using low-level functions with a different interface for each kind of access or using higher-level functions, using a driver to wrap the higher-level API. The API will be the same for each kind of mail access using the higher-level API.
OpenSSL (optional but recommended)
Berkeley DB (optional but recommended)
POSIX Thread (required)
Before you try to compile it, you have to know that packages exist for FreeBSD. (ports/mail/libetpan). This is currently 0.29 for -stable, 0.30 for -current.
Generic installation instructions are in the INSTALL file You can pass the following extra options to configure :
make sure libiconv is installed from the ports collection (see pkg_info).
issue configure with the following parameter:
$ ./configure --with-libiconv-prefix=/usr/local
You have to configure using the following command line : CPPFLAGS=-I/sw/include LDFLAGS=-L/sw/lib ./configure
in tests/option-parser.c, change the inclusion of getopt.h to gnugetopt/getopt.h
in tests/Makefile, add -I/sw/include for the CFLAGS and -L/sw/lib -lgnugetopt for the LDFLAGS.
Warning |
Since libEtPan! is making high usage of mmap() even for writing, when your mailboxes are on NFS filesystem with a Linux server, it is advised to use option no_subtree_check in /etc/exports. This should avoid corruption of data. The problem exist in Linux 2.4.22 and earlier versions. |
On RedHat systems, you have to configure using the following command line : ./configure --with-openssl=/usr/kerberos
You can use the following options :
--enable-debug Compiles with debugging turned on
--enable-optim Turns on some optimizations flags for gcc
--without-openssl Disables OpenSSL (do not look for it)
Download the package and do the following :
$ tar xzvf libetpan-XX.XX.tar.gz # to decompress the package $ cd libetpan-XX.XX $ ./configure --help # to get options of configure $ ./configure # you can specify your own options $ make # to compile the package $ su # make install # logout