Blame view

README 12.5 KB
Wojciech Polak authored
1
This is the GNU Mailutils package
2
=================================
3

Sergey Poznyakoff authored
4 5 6
* Introduction
==============

Wojciech Polak authored
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
GNU Mailutils is a rich and powerful protocol-independent mail
framework.  It contains a series of useful mail libraries, clients,
and servers.  These are the primary mail utilities for the GNU system.
The central library is capable of handling electronic mail in various
mailbox formats and protocols, both local and remote.  Specifically,
this project contains a POP3 server, an IMAP4 server, and a Sieve mail
filter. It also provides a POSIX `mailx' client, and a collection of
other handy tools.

The GNU Mailutils libraries supply an ample set of primitives for
handling electronic mail in programs written in C, C++, Python or
Scheme.

At the core of Mailutils is libmailutils, a library which provides
universal access to various mailboxes and protocols: UNIX mailbox,
Maildir, MH, POP3, IMAP4, Sendmail, SMTP.  Mailutils offers functions
for almost any mail-related task, such as parsing of messages, email
addresses and URLs, handling MIME messages, listing mail folders,
mailcap facilities, extensible Sieve filtering, access control lists.
It supports various modern data security and authentication
techniques: TLS encryption, SASL and GSSAPI, to name a few.
The framework is able to work with a wide variety of authorization
databases, ranging from traditional system password database up to
RADIUS, SQL and LDAP.

The utilities provided by Mailutils include imap4d and pop3d mail
servers, mail reporting utility comsatd, general-purpose mail delivery
agent maidag, mail filtering program sieve, and an implementation of
MH message handling system.

All utilities share the same subset of command line options and use
a unified configuration mechanism, which allows to easily configure
the package as a whole.

This software is part of the GNU Project and is copyrighted by the
Free Software Foundation.  All libraries are distributed under the
terms of the Lesser GNU Public License.  The documentation is licensed
under the GNU FDL, and everything else is licensed under the GNU GPL.
The complete texts of the corresponding licences are included in the
files COPYING.LESSER, COPYING and doc/texinfo/COPYING.DOC.
47

Sergey Poznyakoff authored
48 49
* Why use this package?
=======================
50

51
This package started off to try and handle large mailbox files more
Sergey Poznyakoff authored
52
gracefully then current POP3 servers did. While it handles this task,
53
it also allows you to support a variety of different mailbox formats
Sergey Poznyakoff authored
54
without any real effort on your part. Also, if a new format is added
55 56 57
at a later date, your program will support that new format
automatically as soon as it is compiled against the new library.

Sergey Poznyakoff authored
58
This package is also released as part of Debian, so you should expect
59
it to compile cleanly on all the platforms supported there.
60

Sergey Poznyakoff authored
61 62
* How to install
================
63

Sergey Poznyakoff authored
64
Please see the INSTALL file in this directory for the generic instructions
Sergey Poznyakoff authored
65
on how to use configure. The following short summary describes the
Sergey Poznyakoff authored
66
mailutils-specific configuration options:
Sergey Poznyakoff authored
67 68 69

    --enable-debug

Sergey Poznyakoff authored
70
	Compile Mailutils with debugging support. This disables
Sergey Poznyakoff authored
71 72
	compiler optimizations and adds debugging information to the
	binaries. 
Sergey Poznyakoff authored
73 74 75

    --disable-pam

Sergey Poznyakoff authored
76 77
	Do not build PAM support. By default configure will build PAM
	support if the host system supports it. Use this option to
Sergey Poznyakoff authored
78
	suppress this behaviour.
Sergey Poznyakoff authored
79 80 81 82 83

    --disable-pthread

	Do not build thread-safe libraries.

Sergey Poznyakoff authored
84 85 86 87
    --without-fribidi

        Do not include fribidi support, even if libfribidi is present.
		
Sergey Poznyakoff authored
88 89
    --with-sql=MODLIST

Sergey Poznyakoff authored
90 91
        Enable support for authentication using given SQL modules.
        MODLIST is a colon-separated list of SQL modules to use.
Sergey Poznyakoff authored
92
        Available modules are 'mysql', 'postgres' and 'odbc'. E.g.,
Sergey Poznyakoff authored
93
        to enable all modules: 
Sergey Poznyakoff authored
94

Sergey Poznyakoff authored
95
		--with-sql=mysql:postgres:odbc
Sergey Poznyakoff authored
96 97


Sergey Poznyakoff authored
98 99 100
        Note that depending on how your SQL systems are installed,
        this may require adding appropriate directories to the library
        and include paths, e.g.
Sergey Poznyakoff authored
101 102


103 104
	./configure LDFLAGS='-L/usr/local/mysql/lib -L/usr/local/pgsql/lib' \
                    CPPFLAGS='-I/usr/local/mysql/include \
Sergey Poznyakoff authored
105 106 107 108
                             -I/usr/local/pgsql/include' 
    		    --with-sql=mysql:postgres


109
    --with-mysql
Sergey Poznyakoff authored
110

Sergey Poznyakoff authored
111 112 113 114 115
        Equivalent to --with-sql=mysql

        Note that depending on how your MySQL system is installed, this
        may require adding appropriate directories to the library and
        include paths, e.g.:
Sergey Poznyakoff authored
116

117 118
	./configure LDFLAGS='-L/usr/local/mysql/lib' \
                    CPPFLAGS='-I/usr/local/mysql/include' --with-mysql
119 120 121

    --with-postgres

Sergey Poznyakoff authored
122 123
        Equivalent to --with-sql=postgres 

Sergey Poznyakoff authored
124 125
	You may have to explicitly specify LIBS and CPPFLAGS (see
	above). 
Sergey Poznyakoff authored
126

Sergey Poznyakoff authored
127 128
    --with-odbc[={odbc|iodbc}]

Sergey Poznyakoff authored
129 130
        Without arguments or with 'odbc' as its argument it is
        equivalent to --with-sql=odbc.
Sergey Poznyakoff authored
131 132 133

	--with-odbc=iodbc enables ODBC support via libiodbc.

Sergey Poznyakoff authored
134 135
	You may have to explicitly specify LIBS and CPPFLAGS (see
	above). 
Sergey Poznyakoff authored
136

Sergey Poznyakoff authored
137 138
    --with-mh-bindir=DIR

Sergey Poznyakoff authored
139 140
        By default the MH binaries are installed in
        ${exec_prefix}/bin/mu-mh. To change this, use --with-mh-bindir
Sergey Poznyakoff authored
141
        option. If DIR starts with '/' it is taken as an absolute
Sergey Poznyakoff authored
142
        path specification, otherwise ${prefix} is prepended to it. 
Sergey Poznyakoff authored
143

Sergey Poznyakoff authored
144 145 146
    --with-virtual-pwddir=DIR

	Use DIR instead of $sysconfdir/domain as the location of
Sergey Poznyakoff authored
147
	virtual mail domain database. This option is ignored if
148
        --disable-virtual-domains is specified.
Sergey Poznyakoff authored
149 150 151 152 153

    --without-readline

	Build 'mail' without readline support.

154
    --without-gnutls
Wojciech Polak authored
155

156 157
	Disable the TLS/SSL encryption via GnuTLS (a Transport Layer
	Security Library) in IMAP4/POP3 daemons and utilities.
Wojciech Polak authored
158 159 160

    --with-gsasl

Sergey Poznyakoff authored
161
	Enable GNU SASL support (Simple Authentication and Security
Sergey Poznyakoff authored
162
	Layer framework). IMAP4d supports this mechanism. This
Sergey Poznyakoff authored
163
	requires GSASL version 0.2.3 or newer. 
Wojciech Polak authored
164

Sergey Poznyakoff authored
165 166
    --with-gssapi

Sergey Poznyakoff authored
167
	Enable GSSAPI authentication. For this to work, you will have
Sergey Poznyakoff authored
168 169
	to have Kerberos V installed on your system.

170 171 172 173
    --without-python

	Do not build Python interface library.

Sergey Poznyakoff authored
174 175
    --without-guile

Wojciech Polak authored
176
	Do not build Guile interface library.
Sergey Poznyakoff authored
177

Sergey Poznyakoff authored
178 179
    --with-guiledir[=DIR]

Sergey Poznyakoff authored
180
        Specify the directory to install guile modules to. By default
Sergey Poznyakoff authored
181 182 183 184 185 186
        they are installed in

	  $(prefix)/share/mailutils/$(VERSION)/guile.

	The option --with-guiledir used without argument instructs
	configure script to install modules to the site-wide Guile
Sergey Poznyakoff authored
187
	directory, where it is easier to find them. This directory is
Sergey Poznyakoff authored
188 189 190 191 192 193 194 195
	defined as $(guile_pkgdatadir)/site where guile_pkgdatadir is
	the Guile package data directory as returned by `guile-config
	info pkgdatadir'.

	Otherwise, if an argument to the option is given, it specifies
	the absolute file name of the installation directory for Guile
	modules. 
	
Sergey Poznyakoff authored
196 197 198
    --with-mail-rc=FILE

	Set the location of the system-wide configuration file for mail
Sergey Poznyakoff authored
199
	utility. FILE must be an absolute filename specification.
Sergey Poznyakoff authored
200
	Default is $sysconfdir/mail.rc
Sergey Poznyakoff authored
201 202 203

    --with-mail-spool=PATH

Sergey Poznyakoff authored
204 205
	Override the location of the mailspool. The default value
	depends on the system. Usually it is either /var/spool/mail
Sergey Poznyakoff authored
206 207
	or /var/mail. PATH is either an absolute directory name, or a
	valid `mbox' URL in the form:
208 209 210

		mbox:path;type=TYPE;param=N;user=

Sergey Poznyakoff authored
211
	This method allows you to use indexed mailspools. For servers
Sergey Poznyakoff authored
212 213
	with a really big number of users this may provide a
	significant speedup in opening the mailbox. 
214 215 216 217

	TYPE is one of:
		hash       --  The user's mailbox is kept in a subdirectory
			       whose name is determined by hashing first
Sergey Poznyakoff authored
218
			       N characters of the user name. There are
219 220
			       256 subdirectories named from 00 through FF.
		index	   --  The user's mailbox is located PARAM directories
Sergey Poznyakoff authored
221
                               down the `path'. The directories are named
222 223 224 225 226
                               after the first N letters of a login name.
			       For example, when N=2 the mailbox for
			       user `smith' is `/var/spool/mail/s/m/smith'.
	        rev-index  --  Same as above, except that the last letters
			       are used, thus the mailbox for `smith' will
Sergey Poznyakoff authored
227
	                       be /var/spool/mail/h/t/smith. This may provide
228 229 230
	                       a better average distribution than the `index'
			       method.
	
Sergey Poznyakoff authored
231 232
    --with-log-facility=facility

Sergey Poznyakoff authored
233
	Enable logging to the given syslog facility. Default is `mail'.
Sergey Poznyakoff authored
234 235 236 237 238 239

    --without-included-regex

	Don't compile regex; this is the default on systems with version
	2 of the GNU C library (use with caution on other systems)

240 241 242 243 244 245 246 247 248 249 250
    --disable-nls

        Do not use Native Language Support

    --with-included-gettext

       Use the GNU gettext library included in the Mailutils distribution.

    --with-included-argp

        Use the argp library supplied with the package, instead of the
Sergey Poznyakoff authored
251
        one from your libc. You will need this option if the libc library
252 253
        on your system was compiled without NLS support.

Sergey Poznyakoff authored
254
The following options enable DBM support in Mailutils. DBM support is
255
necessary if you wish to use APOP authentication in POP3 daemon or to
256
use DBM-based mail box quotas with maildag.
257 258 259 260 261 262 263

    --with-gdbm

	Use GNU DBM

    --with-berkeley-db[=ARG]

Sergey Poznyakoff authored
264 265
	Use Berkeley DB. If ARG is not specified, configure will
	attempt to autodetect the database version to use. Unless ARG
266 267 268 269 270 271 272 273
	begins with a digit, it is taken as a library name, without
	the `lib' prefix and library type suffix, so that specifying

	    --with-berkeley-db=db-3.1

	instructs configure to use library libdb-3.1.so (or
	libdb-3.1.a).
	Otherwise, if ARG begins with a digit, it is understood as a
Sergey Poznyakoff authored
274 275
	library version number to link to. In this case configure
	assumes a Slackware-like installation layout. Thus, using
276 277 278 279 280 281 282 283 284 285

	    --with-berkeley-db=3.1

	tells configure to use library libdb-3.1.so (or libdb-3.1.a)
	and header file /usr/include/db31/db.h    

    --with-ndbm

	Use NDBM

286 287 288 289
    --with-tokyocabinet

	Use Tokyo Cabinet DBM

Sergey Poznyakoff authored
290 291
        Only one dbm option may be specified. Which one depends on
        the flavor of DBM you are using. GDBM is most common for GNU
292
        system.
293

294 295 296 297 298
Use following options to disable support for particular protocols or
features:

    --disable-imap        Disables IMAP protocol support. 
    --disable-pop         Disables POP protocol support. 
299
    --disable-smtp        Disables support for SMTP mailer.
300 301 302
    --disable-sendmail    Disables support for `Sendmail' mailer.
    --disable-mh          Disables support for MH mailbox format.  
    --disable-virtual-domains 
Sergey Poznyakoff authored
303 304
                          Disables support for authentication using
                          virtual mail domains.
305

306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323
Special options are provided that control whether each particular
Mailutils program is built. These are:

    --disable-build-frm        do not build frm
    --disable-build-pop3d      do not build pop3d
    --disable-build-imap4d     do not build imap4d
    --disable-build-comsat     do not build comsat
    --disable-build-maidag     do not build maidag
    --disable-build-mail       do not build mail
    --disable-build-sieve      do not build sieve
    --disable-build-guimb      do not build guimb
    --disable-build-messages   do not build messages
    --disable-build-readmsg    do not build readmsg
    --disable-build-dotlock    do not build dotlock
    --disable-build-movemail   do not build movemail
    --disable-build-mimeview   do not build mimeview
    --disable-build-mh         do not build mh utilities

Sergey Poznyakoff authored
324 325
Several environment variables affect the configuration. Currently,
the only mailutils-specific variable is DEFAULT_CUPS_CONFDIR. It
Sergey Poznyakoff authored
326
sets the location of CUPS (Common UNIX Printing System) configuration
Sergey Poznyakoff authored
327 328
directory, which is needed for `mimeview' utility. By default, this
location is $sysconfdir/cups. On most sites, however, it may be
Sergey Poznyakoff authored
329 330 331 332
reasonable to set it to /etc/cups, e.g.:

	./configure DEFAULT_CUPS_CONFDIR=/etc/cups ...

333

Sergey Poznyakoff authored
334 335
* Where to report BUGS
======================
336

Sergey Poznyakoff authored
337
Please report any bugs to <bug-mailutils@gnu.org>. We encourage
Sergey Poznyakoff authored
338 339
sysadmins who will be using this package to subscribe to this list by
sending an email to <bug-mailutils-request@gnu.org> with the word
Sergey Poznyakoff authored
340
`subscribe' in the body of the message. Another way to subscribe is
Sergey Poznyakoff authored
341
by visiting http://mail.gnu.org/mailman/listinfo/bug-mailutils.
Sergey Poznyakoff authored
342

Sergey Poznyakoff authored
343 344
* Copyright information:

345 346
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2009, 2010 Free Software
Foundation, Inc.
Sergey Poznyakoff authored
347

Sergey Poznyakoff authored
348 349 350
   Permission is granted to anyone to make or distribute verbatim
   copies of this document as received, in any medium, provided that
   the copyright notice and this permission notice are preserved,
Sergey Poznyakoff authored
351 352 353 354 355 356 357 358 359 360 361 362 363
   thus giving the recipient permission to redistribute in turn.

   Permission is granted to distribute modified versions
   of this document, or of portions of it,
   under the above conditions, provided also that they
   carry prominent notices stating who last changed them.


Local Variables:
mode: outline
paragraph-separate: "[ 	]*$"
version-control: never
End: