Blame view

README 12.7 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
    --without-gsasl
Wojciech Polak authored
160

161 162 163 164 165 166
	Disable GNU SASL support.

	GSASL is used by several Mailutils components (notably pop3d
	and imap4d as well as their client counterparts) for
	authentification.  It is enabled by default if configure
	detects the presense of GNU SASL version 0.2.3 or later.
Wojciech Polak authored
167

Sergey Poznyakoff authored
168 169
    --with-gssapi

Sergey Poznyakoff authored
170
	Enable GSSAPI authentication. For this to work, you will have
Sergey Poznyakoff authored
171 172
	to have Kerberos V installed on your system.

173 174 175 176
    --without-python

	Do not build Python interface library.

Sergey Poznyakoff authored
177 178
    --without-guile

Wojciech Polak authored
179
	Do not build Guile interface library.
Sergey Poznyakoff authored
180

Sergey Poznyakoff authored
181 182
    --with-guiledir[=DIR]

Sergey Poznyakoff authored
183
        Specify the directory to install guile modules to. By default
Sergey Poznyakoff authored
184 185 186 187 188 189
        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
190
	directory, where it is easier to find them. This directory is
Sergey Poznyakoff authored
191 192 193 194 195 196 197 198
	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
199 200 201
    --with-mail-rc=FILE

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

    --with-mail-spool=PATH

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

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

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

	TYPE is one of:
		hash       --  The user's mailbox is kept in a subdirectory
			       whose name is determined by hashing first
Sergey Poznyakoff authored
221
			       N characters of the user name. There are
222 223
			       256 subdirectories named from 00 through FF.
		index	   --  The user's mailbox is located PARAM directories
Sergey Poznyakoff authored
224
                               down the `path'. The directories are named
225 226 227 228 229
                               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
230
	                       be /var/spool/mail/h/t/smith. This may provide
231 232 233
	                       a better average distribution than the `index'
			       method.
	
Sergey Poznyakoff authored
234 235
    --with-log-facility=facility

Sergey Poznyakoff authored
236
	Enable logging to the given syslog facility. Default is `mail'.
Sergey Poznyakoff authored
237 238 239 240 241 242

    --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)

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.

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

    --with-gdbm

	Use GNU DBM

    --with-berkeley-db[=ARG]

Sergey Poznyakoff authored
261 262
	Use Berkeley DB. If ARG is not specified, configure will
	attempt to autodetect the database version to use. Unless ARG
263 264 265 266 267 268 269 270
	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
271 272
	library version number to link to. In this case configure
	assumes a Slackware-like installation layout. Thus, using
273 274 275 276 277 278 279 280 281 282

	    --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

283 284 285 286
    --with-tokyocabinet

	Use Tokyo Cabinet DBM

287 288 289 290 291
    --with-kyotocabinet

	Use Kyoto Cabinet DBM


292 293 294 295 296
Use following options to disable support for particular protocols or
features:

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

304 305 306 307 308 309 310 311 312 313 314 315 316 317
Mailutils is shipped with a set of various utilities, which are built
by default.  These utilities fall into two groups:

a) Server utilities: pop3d, imap4d and comsat.
b) Client utilities: frm, maidag, mail, sieve, messages, readmsg,
   dotlock, movemail mimeview, and MH utilities.

The following options disable each group:
   
    --disable-build-servers    do not build server utilities
    --disable-build-clients    do not build client utilities
    	       
Each particular program can be disabled using its individual
`--disable-build' option:
318 319 320 321 322 323 324 325 326 327 328 329 330 331

    --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
332
    --disable-build-mh         do not build MH utilities
333

Sergey Poznyakoff authored
334 335
Several environment variables affect the configuration. Currently,
the only mailutils-specific variable is DEFAULT_CUPS_CONFDIR. It
Sergey Poznyakoff authored
336
sets the location of CUPS (Common UNIX Printing System) configuration
Sergey Poznyakoff authored
337 338
directory, which is needed for `mimeview' utility. By default, this
location is $sysconfdir/cups. On most sites, however, it may be
Sergey Poznyakoff authored
339 340 341 342
reasonable to set it to /etc/cups, e.g.:

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

343

Sergey Poznyakoff authored
344 345
* Where to report BUGS
======================
346

Sergey Poznyakoff authored
347
Please report any bugs to <bug-mailutils@gnu.org>. We encourage
Sergey Poznyakoff authored
348 349
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
350
`subscribe' in the body of the message. Another way to subscribe is
Sergey Poznyakoff authored
351
by visiting http://mail.gnu.org/mailman/listinfo/bug-mailutils.
Sergey Poznyakoff authored
352

Sergey Poznyakoff authored
353 354
* Copyright information:

355
Copyright (C) 2002-2006, 2009-2012, 2014-2016 Free Software Foundation,
356
Inc.
Sergey Poznyakoff authored
357

Sergey Poznyakoff authored
358 359 360
   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
361 362 363 364 365 366 367 368 369 370 371 372 373
   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: