LibESMTP is considered stable. Version 1.0.4 is the reccomended release of libESMTP and all users are urged to upgrade as soon as is practicable.
libESMTP uses dlsym()
(part of SUSv2/3
and IEEE Std 1003.1-2001 aka Posix) to load plugins. If your
platform does not supply dlsym(), you must
install libltdl before configuring libESMTP.
Libltdl is part of GNU libtool which is available from http://www.gnu.org/software/libtool/ or one of the GNU mirrors.
The Posix/RFC 2553 getaddrinfo() function which supports
IPv6 is used to resolve domain names. Please note that
gethostbyname is not used for this purpose.
Unfortunately, a few platforms either do not yet provide
getaddrinfo or use getipnodebyname instead.
If your platform is one of these, there are a few options:
getaddrinfo layered over
gethostbyname or getipnodebyname is included
with libESMTP. Use
./configure --enable-emulate-getaddrinfo to build it.
If you have installed ISC BIND 9
the lightweight resolver library may be used instead of the standard
resolver. Use ./configure --with-lwres[=DIR] to
enable this option. Please note that the lightweight resolver requires
the use of lwresd also distributed with BIND 9.
OpenSSL is required to build the SMTP STARTTLS extension and to build the NTLM authentication module. If you have no need for either of these features, you do not need OpenSSL.
Please note that OpenSSL is distributed under an old BSD style
licence. If this is problematic for you, use the
--without-openssl option when configuring. LibESMTP will
be built without support for features which depend on OpenSSL and the
resulting binary will be pure LGPL.
Tarballs are available for download using HTTP.
Use of previous libESMTP versions is not reccomended.
Running
./configure with no arguments includes all non-experimental
features. This means that some features not enabled by default in previous
releases are now included.
Conversely, some features formerly enabled by default must
now be requested explicitly.
With the exception of
features such as setting --prefix or --with-gnu-ld,
./configure should build the correct configuration for most OS
distributions.
Occasionally ./configure will detect functions in the C
runtime libraries but special #defines are required to enable
function prototypes and constants - this seems to be a particular problem with
getaddrinfo() on some platforms. If this happens try
FOO is the macro referenced in the relevant header file.
Let me know if this is needed so I can update the configure script for
future releases.
Binary distributions and ports of libESMTP are available courtesy of the respective package maintainers.
| Platform | Maintainer | Download Site |
|---|---|---|
| RedHat (RPM) | Carlos Morgado | ftp://chbm.nu/pub/ |
| FreeBSD | J.M. Cooper | FreeBSD FTP |
| Debian GNU/Linux | Jeremy T. Bouse | Package: libesmtp5 |