Fixes.
* doc/texinfo/Makefile.am (final): Add fix-sentence-spacing. * doc/texinfo/mailutils.texi: Update. * doc/texinfo/programs.texi: Update. * pop3d/pop3d.c, sieve/sieve.c: Use mu_cfg_bool, where appropriate.
Showing
5 changed files
with
698 additions
and
160 deletions
... | @@ -227,9 +227,15 @@ Reading Mail | ... | @@ -227,9 +227,15 @@ Reading Mail |
227 | 227 | ||
228 | @command{movemail} --- Moves Mail from the User Maildrop to the Local File | 228 | @command{movemail} --- Moves Mail from the User Maildrop to the Local File |
229 | 229 | ||
230 | * Movemail Configuration:: | ||
230 | * Movemail Options:: Description of the Available Options | 231 | * Movemail Options:: Description of the Available Options |
231 | * Summary:: Short Movemail Invocation Summary | 232 | * Summary:: Short Movemail Invocation Summary |
232 | 233 | ||
234 | @command{readmsg} --- Extract Messages from a Folder | ||
235 | |||
236 | * Opt-readmsg:: Invocation of @command{readmsg}. | ||
237 | * Conf-readmsg:: Configuration of @command{readmsg}. | ||
238 | |||
233 | @command{sieve} | 239 | @command{sieve} |
234 | 240 | ||
235 | * sieve interpreter:: A Sieve Interpreter | 241 | * sieve interpreter:: A Sieve Interpreter | ... | ... |
... | @@ -348,6 +348,7 @@ and to edit the @file{imap4d.rc} file with your editor of choice. | ... | @@ -348,6 +348,7 @@ and to edit the @file{imap4d.rc} file with your editor of choice. |
348 | * Debug Statement:: | 348 | * Debug Statement:: |
349 | * Mailbox Statement:: | 349 | * Mailbox Statement:: |
350 | * Locking Statement:: | 350 | * Locking Statement:: |
351 | * Mailer Statement:: | ||
351 | * ACL Statement:: | 352 | * ACL Statement:: |
352 | * Tcp-wrappers Statement:: | 353 | * Tcp-wrappers Statement:: |
353 | * Server Settings:: | 354 | * Server Settings:: |
... | @@ -1085,6 +1086,81 @@ Set command line of an external locker program. The @samp{E} flag | ... | @@ -1085,6 +1086,81 @@ Set command line of an external locker program. The @samp{E} flag |
1085 | must be set for this to take effect. | 1086 | must be set for this to take effect. |
1086 | @end deffn | 1087 | @end deffn |
1087 | 1088 | ||
1089 | @node Mailer Statement | ||
1090 | @subsection Mailer Statement | ||
1091 | @kwindex mailer | ||
1092 | @subheading Syntax | ||
1093 | @smallexample | ||
1094 | mailer @{ | ||
1095 | url @var{url}; | ||
1096 | @} | ||
1097 | @end smallexample | ||
1098 | |||
1099 | @subheading Description | ||
1100 | A @dfn{mailer} is a special logical entity GNU Mailutils uses for | ||
1101 | sending messages. Its internal representation is discussed in | ||
1102 | @ref{Mailer}. The @code{mailer} statement configures it. | ||
1103 | |||
1104 | The mailer statement contains a single sub-statement: | ||
1105 | |||
1106 | @deffn {Configuration} url @var{str} | ||
1107 | Set the mailer @acronym{URL}. | ||
1108 | @end deffn | ||
1109 | |||
1110 | GNU Mailutils supports two types of mailer @acronym{URL}s, described | ||
1111 | in the table below. As usual, square brackets indicate optional parts: | ||
1112 | |||
1113 | @table @asis | ||
1114 | @item smtp://@var{host}[:@var{port}] | ||
1115 | Use an SMTP server @var{host} to send messages. Optional @var{port} | ||
1116 | specifies port number or symbolic name (as defined in | ||
1117 | @file{/etc/services}). It defaults to 25. The @var{host} can be | ||
1118 | specified as either an IP address in dotted-quad notation or as a | ||
1119 | symbolic host name. In the latter case, DNS system will be used to | ||
1120 | resolve it. | ||
1121 | |||
1122 | @item sendmail://@var{progname} | ||
1123 | Use sendmail-compatible program | ||
1124 | @var{progname}. @dfn{Sendmail-compatible} means that the program must | ||
1125 | support following command line options: | ||
1126 | |||
1127 | @table @option | ||
1128 | @item -oi | ||
1129 | Do not treat @samp{.} as message terminator. | ||
1130 | |||
1131 | @item -f @var{addr} | ||
1132 | Use @var{addr} as the sender address. | ||
1133 | |||
1134 | @item -t | ||
1135 | Get recipient addresses from the message. | ||
1136 | @end table | ||
1137 | |||
1138 | @item sendmail: | ||
1139 | This is a special form of the @samp{sendmail} mailer. It uses the | ||
1140 | @command{sendmail} binary from the @code{_PATH_SENDMAIL} macro in your | ||
1141 | @file{/usr/include/paths.h}. It is the default mailer. | ||
1142 | |||
1143 | @item prog://@var{progname}?@var{query} | ||
1144 | A @dfn{prog} mailer. This is a generalization of @samp{sendmail} | ||
1145 | mailer that allows to use arbitrary external programs as mailers. | ||
1146 | |||
1147 | The @var{progname} must be a full pathname of the binary file. When | ||
1148 | sending message, Mailutils will invoke this file with the arguments | ||
1149 | specified by @var{query} and will pipe the message to be sent to its | ||
1150 | standard input. | ||
1151 | |||
1152 | The @var{query} part is a list of arguments, separated by @samp{&} | ||
1153 | signs. Arguments may contain the following macro-substitutions: | ||
1154 | |||
1155 | @table @samp | ||
1156 | @item $@{sender@} | ||
1157 | Expands to the sender email address. | ||
1158 | |||
1159 | @item $@{rcpt@} | ||
1160 | Expands to the recipient email addresses. | ||
1161 | @end table | ||
1162 | @end table | ||
1163 | |||
1088 | @node ACL Statement | 1164 | @node ACL Statement |
1089 | @subsection ACL Statement | 1165 | @subsection ACL Statement |
1090 | @kwindex acl | 1166 | @kwindex acl |
... | @@ -1961,7 +2037,7 @@ ldap @{ | ... | @@ -1961,7 +2037,7 @@ ldap @{ |
1961 | 2037 | ||
1962 | @node TLS Statement | 2038 | @node TLS Statement |
1963 | @subsection TLS Statement | 2039 | @subsection TLS Statement |
1964 | @UNREVISED | 2040 | @WRITEME |
1965 | @kwindex tls | 2041 | @kwindex tls |
1966 | @subheading Syntax | 2042 | @subheading Syntax |
1967 | @smallexample | 2043 | @smallexample |
... | @@ -2010,10 +2086,10 @@ configuration file statements: | ... | @@ -2010,10 +2086,10 @@ configuration file statements: |
2010 | 2086 | ||
2011 | @multitable @columnfractions 0.3 0.6 | 2087 | @multitable @columnfractions 0.3 0.6 |
2012 | @headitem Statement @tab Reference | 2088 | @headitem Statement @tab Reference |
2013 | @item debug @tab @xref{Debug Statement}. | 2089 | @item debug @tab @xref{Debug Statement}. |
2014 | @item tls @tab @xref{TLS Statement}. | 2090 | @item tls @tab @xref{TLS Statement}. |
2015 | @item mailbox @xref{Mailbox Statement}. | 2091 | @item mailbox @tab @xref{Mailbox Statement}. |
2016 | @item locking @xref{Locking Statement}. | 2092 | @item locking @tab @xref{Locking Statement}. |
2017 | @end multitable | 2093 | @end multitable |
2018 | 2094 | ||
2019 | @subheading @command{frm} | 2095 | @subheading @command{frm} |
... | @@ -3887,10 +3963,10 @@ Following configuration file statements affect the behaviour of | ... | @@ -3887,10 +3963,10 @@ Following configuration file statements affect the behaviour of |
3887 | 3963 | ||
3888 | @multitable @columnfractions 0.3 0.6 | 3964 | @multitable @columnfractions 0.3 0.6 |
3889 | @headitem Statement @tab Reference | 3965 | @headitem Statement @tab Reference |
3890 | @item debug @tab @xref{Debug Statement}. | 3966 | @item debug @tab @xref{Debug Statement}. |
3891 | @item tls @tab @xref{TLS Statement}. | 3967 | @item tls @tab @xref{TLS Statement}. |
3892 | @item mailbox @xref{Mailbox Statement}. | 3968 | @item mailbox @tab @xref{Mailbox Statement}. |
3893 | @item locking @xref{Locking Statement}. | 3969 | @item locking @tab @xref{Locking Statement}. |
3894 | @end multitable | 3970 | @end multitable |
3895 | 3971 | ||
3896 | The program accepts following command line options: | 3972 | The program accepts following command line options: |
... | @@ -3964,16 +4040,16 @@ If @var{bool} is @samp{true}, output information used by Emacs rmail interface. | ... | @@ -3964,16 +4040,16 @@ If @var{bool} is @samp{true}, output information used by Emacs rmail interface. |
3964 | 4040 | ||
3965 | @multitable @columnfractions 0.3 0.6 | 4041 | @multitable @columnfractions 0.3 0.6 |
3966 | @headitem Statement @tab Reference | 4042 | @headitem Statement @tab Reference |
3967 | @item debug @tab @xref{Debug Statement}. | 4043 | @item debug @tab @xref{Debug Statement}. |
3968 | @item tls @tab @xref{TLS Statement}. | 4044 | @item tls @tab @xref{TLS Statement}. |
3969 | @item mailbox @xref{Mailbox Statement}. | 4045 | @item mailbox @tab @xref{Mailbox Statement}. |
3970 | @item locking @xref{Locking Statement}. | 4046 | @item locking @tab @xref{Locking Statement}. |
3971 | @item pam @xref{PAM Statement}. | 4047 | @item pam @tab @xref{PAM Statement}. |
3972 | @item sql @xref{SQL Statement}. | 4048 | @item sql @tab @xref{SQL Statement}. |
3973 | @item virtdomain @xref{Virtdomain Statement}. | 4049 | @item virtdomain @tab @xref{Virtdomain Statement}. |
3974 | @item radius @xref{Radius Statement}. | 4050 | @item radius @tab @xref{Radius Statement}. |
3975 | @item ldap @xref{LDAP Statement}. | 4051 | @item ldap @tab @xref{LDAP Statement}. |
3976 | @item auth @xref{Auth Statement}. | 4052 | @item auth @tab @xref{Auth Statement}. |
3977 | @end multitable | 4053 | @end multitable |
3978 | 4054 | ||
3979 | @node Movemail Options | 4055 | @node Movemail Options |
... | @@ -4218,15 +4294,14 @@ only the first. | ... | @@ -4218,15 +4294,14 @@ only the first. |
4218 | 4294 | ||
4219 | @multitable @columnfractions 0.3 0.6 | 4295 | @multitable @columnfractions 0.3 0.6 |
4220 | @headitem Statement @tab Reference | 4296 | @headitem Statement @tab Reference |
4221 | @item debug @tab @xref{Debug Statement}. | 4297 | @item debug @tab @xref{Debug Statement}. |
4222 | @item tls @tab @xref{TLS Statement}. | 4298 | @item tls @tab @xref{TLS Statement}. |
4223 | @item mailbox @xref{Mailbox Statement}. | 4299 | @item mailbox @tab @xref{Mailbox Statement}. |
4224 | @item locking @xref{Locking Statement}. | 4300 | @item locking @tab @xref{Locking Statement}. |
4225 | @end multitable | 4301 | @end multitable |
4226 | 4302 | ||
4227 | @node sieve | 4303 | @node sieve |
4228 | @section @command{sieve} | 4304 | @section @command{sieve} |
4229 | @UNREVISED | ||
4230 | @pindex sieve | 4305 | @pindex sieve |
4231 | 4306 | ||
4232 | Sieve is a language for filtering e-mail messages at time of final | 4307 | Sieve is a language for filtering e-mail messages at time of final |
... | @@ -4252,6 +4327,7 @@ its standard. | ... | @@ -4252,6 +4327,7 @@ its standard. |
4252 | 4327 | ||
4253 | @menu | 4328 | @menu |
4254 | * Invoking Sieve:: | 4329 | * Invoking Sieve:: |
4330 | * Sieve Configuration:: | ||
4255 | * Logging and Debugging:: | 4331 | * Logging and Debugging:: |
4256 | * Extending Sieve:: | 4332 | * Extending Sieve:: |
4257 | @end menu | 4333 | @end menu |
... | @@ -4274,6 +4350,15 @@ and @var{options} is one or more of the following: | ... | @@ -4274,6 +4350,15 @@ and @var{options} is one or more of the following: |
4274 | @itemx --compile-only | 4350 | @itemx --compile-only |
4275 | Compile script and exit. | 4351 | Compile script and exit. |
4276 | 4352 | ||
4353 | @item --clear-library-path | ||
4354 | @itemx --clearpath | ||
4355 | Clear Sieve library path. See also @ref{Sieve Configuration, | ||
4356 | clear-library-path}. | ||
4357 | |||
4358 | @item --clear-include-path | ||
4359 | Clear Sieve include path. See also @ref{Sieve Configuration, | ||
4360 | clear-include-path}. | ||
4361 | |||
4277 | @item -d[@var{flags}] | 4362 | @item -d[@var{flags}] |
4278 | @itemx --debug[=@var{flags}] | 4363 | @itemx --debug[=@var{flags}] |
4279 | Specify debug flags. The @var{flags} argument is a sequence of one or | 4364 | Specify debug flags. The @var{flags} argument is a sequence of one or |
... | @@ -4295,16 +4380,29 @@ Compile the script, dump disassembled code on standard output and exit. | ... | @@ -4295,16 +4380,29 @@ Compile the script, dump disassembled code on standard output and exit. |
4295 | @itemx --email @var{address} | 4380 | @itemx --email @var{address} |
4296 | Override the user email address. This is useful for @code{reject} and | 4381 | Override the user email address. This is useful for @code{reject} and |
4297 | @code{redirect} actions. By default, the user email address is deduced | 4382 | @code{redirect} actions. By default, the user email address is deduced |
4298 | from the user name and the full name of the machine where sieve is | 4383 | from the user name and the full name of the machine where |
4299 | executed. | 4384 | @command{sieve} is executed. See also @ref{Sieve Configuration, |
4385 | email}. | ||
4386 | |||
4387 | @item -I @var{dir} | ||
4388 | @itemx --includedir=@var{dir} | ||
4389 | Append directory @var{dir} to the list of directories searched for | ||
4390 | include files. See also @ref{Sieve Configuration, include-path}. | ||
4300 | 4391 | ||
4301 | @item -f | 4392 | @item -f |
4302 | @itemx --mbox-url=@var{mbox} | 4393 | @itemx --mbox-url=@var{mbox} |
4303 | Mailbox to sieve (defaults to user's system mailbox) | 4394 | Mailbox to sieve (defaults to user's system mailbox). See also |
4395 | @ref{Sieve Configuration, mbox-url}. | ||
4304 | 4396 | ||
4305 | @item -k | 4397 | @item -k |
4306 | @itemx --keep-going | 4398 | @itemx --keep-going |
4307 | Keep on going if execution fails on a message | 4399 | Keep on going if execution fails on a message. See also |
4400 | @ref{Sieve Configuration, keep-going}. | ||
4401 | |||
4402 | @item -L @var{dir} | ||
4403 | @item --libdir=@var{dir} | ||
4404 | Append directory @var{dir} to the list of directories searched for | ||
4405 | library files. See also @ref{Sieve Configuration, library-path}. | ||
4308 | 4406 | ||
4309 | @item -n | 4407 | @item -n |
4310 | @itemx --no-actions | 4408 | @itemx --no-actions |
... | @@ -4312,16 +4410,102 @@ Dry run: do not execute any actions, just print what would be done. | ... | @@ -4312,16 +4410,102 @@ Dry run: do not execute any actions, just print what would be done. |
4312 | 4410 | ||
4313 | @item -t @var{ticket} | 4411 | @item -t @var{ticket} |
4314 | @itemx --ticket=@var{ticket} | 4412 | @itemx --ticket=@var{ticket} |
4315 | Ticket file for mailbox authentication | 4413 | Ticket file for mailbox authentication. See also |
4414 | @ref{Sieve Configuration, ticket}. | ||
4316 | 4415 | ||
4317 | @item -v | 4416 | @item -v |
4318 | @itemx --verbose | 4417 | @itemx --verbose |
4319 | Log all actions executed. | 4418 | Log all actions executed. See also @ref{Sieve Configuration, verbose}. |
4320 | @end table | 4419 | @end table |
4321 | 4420 | ||
4322 | Apart from these, @command{sieve} understands the options from the | 4421 | @node Sieve Configuration |
4323 | following groups: @code{sieve}, @code{mailbox}, @code{mailer}, | 4422 | @subsubheading Sieve Configuration |
4324 | @code{logging}. | 4423 | |
4424 | The behavior of @command{sieve} is affected by the following | ||
4425 | configuration statements: | ||
4426 | |||
4427 | @multitable @columnfractions 0.3 0.6 | ||
4428 | @headitem Statement @tab Reference | ||
4429 | @item debug @tab @xref{Debug Statement}. | ||
4430 | @item tls @tab @xref{TLS Statement}. | ||
4431 | @item mailbox @tab @xref{Mailbox Statement}. | ||
4432 | @item locking @tab @xref{Locking Statement}. | ||
4433 | @item logging @tab @xref{Logging Statement}. | ||
4434 | @item mailer @tab @xref{Mailer Statement}. | ||
4435 | @end multitable | ||
4436 | |||
4437 | The following statements configure sieve-specific features: | ||
4438 | |||
4439 | @deffn {Sieve Conf} sieve @{ ... @} | ||
4440 | This block statement configures search paths @command{sieve} uses to | ||
4441 | locate its loadable modules. @xref{Require Statement}, for a detailed | ||
4442 | information of this feature. | ||
4443 | |||
4444 | This statement may contain the following sub-statements: | ||
4445 | @code{clear-library-path}, @code{clear-include-path}, | ||
4446 | @code{library-path}, @code{include-path}, which are described below. | ||
4447 | @end deffn | ||
4448 | |||
4449 | @deffn {Sieve Conf} clear-library-path @var{bool} | ||
4450 | Used within the @code{sieve} block statement. | ||
4451 | |||
4452 | If @var{bool} is @samp{true}, clear library search path. | ||
4453 | @end deffn | ||
4454 | |||
4455 | @deffn {Sieve Conf} clear-include-path @var{bool} | ||
4456 | Used within the @code{sieve} block statement. | ||
4457 | |||
4458 | If @var{bool} is @samp{true}, clear include search path. | ||
4459 | @end deffn | ||
4460 | |||
4461 | @deffn {Sieve Conf} library-path @var{path} | ||
4462 | Used within the @code{sieve} block statement. | ||
4463 | |||
4464 | Add directories to @command{sieve} library search path. Argument is a | ||
4465 | string containing a colon-separated list of directories. | ||
4466 | @end deffn | ||
4467 | |||
4468 | @deffn {Sieve Conf} include-path @var{path} | ||
4469 | Used within the @code{sieve} block statement. | ||
4470 | |||
4471 | Add directories to the include search path. Argument is a | ||
4472 | string containing a colon-separated list of directories. | ||
4473 | @end deffn | ||
4474 | |||
4475 | @deffn {Sieve Conf} keep-going @var{bool} | ||
4476 | If @var{bool} is @samp{true}, do not abort if execution of a Sieve | ||
4477 | script fails on a particular message. | ||
4478 | @end deffn | ||
4479 | |||
4480 | @deffn {Sieve Conf} mbox-url @var{url} | ||
4481 | Sets @acronym{URL} of the mailbox to be processed. | ||
4482 | @end deffn | ||
4483 | |||
4484 | @deffn {Sieve Conf} ticket @var{file} | ||
4485 | Sets the name of the ticket file for user authentication. | ||
4486 | @end deffn | ||
4487 | |||
4488 | @deffn {Sieve Conf} debug @var{flags} | ||
4489 | Sets Sieve debug flags. @xref{Logging and Debugging}, for a detailed | ||
4490 | description. | ||
4491 | @end deffn | ||
4492 | |||
4493 | @deffn {Sieve Conf} verbose @var{bool} | ||
4494 | If @var{bool} is @samp{true}, log all executed actions. | ||
4495 | @end deffn | ||
4496 | |||
4497 | @deffn {Sieve Conf} line-info @var{bool} | ||
4498 | If @var{bool} is @samp{true}, rint source locations along with action | ||
4499 | logs. This statement takes effect only if @code{verbose true} is also | ||
4500 | set. | ||
4501 | @end deffn | ||
4502 | |||
4503 | @deffn {Sieve Conf} email @var{addr} | ||
4504 | Set user e-mail address. This is useful for @code{reject} and | ||
4505 | @code{redirect} actions. By default, the user email address is deduced | ||
4506 | from the user name and the full name of the machine where @command{sieve} is | ||
4507 | executed. | ||
4508 | @end deffn | ||
4325 | 4509 | ||
4326 | @node Logging and Debugging | 4510 | @node Logging and Debugging |
4327 | @subsubheading Logging and debugging | 4511 | @subsubheading Logging and debugging |
... | @@ -4410,7 +4594,14 @@ following search paths (in the order given): | ... | @@ -4410,7 +4594,14 @@ following search paths (in the order given): |
4410 | @item The value of the environment variable @env{LTDL_LIBRARY_PATH}. | 4594 | @item The value of the environment variable @env{LTDL_LIBRARY_PATH}. |
4411 | 4595 | ||
4412 | @item Additional search directories specified with the | 4596 | @item Additional search directories specified with the |
4413 | @code{#searchpath} directive. | 4597 | @code{library-path} statement (@pxref{Sieve Configuration, |
4598 | library-path}) in Sieve configuration file. | ||
4599 | |||
4600 | @item Additional search directories specified with the. | ||
4601 | @option{--libdir} command line option (@FIXME-pxref{libdir}). | ||
4602 | |||
4603 | @item Additional search directories specified with the | ||
4604 | @code{#searchpath} Sieve directive (@pxref{#searchpath}). | ||
4414 | 4605 | ||
4415 | @item System library search path: The system dependent library | 4606 | @item System library search path: The system dependent library |
4416 | search path (e.g. on Linux it is set by the contents of the file | 4607 | search path (e.g. on Linux it is set by the contents of the file |
... | @@ -4456,8 +4647,8 @@ source for the required action NAME is not available | ... | @@ -4456,8 +4647,8 @@ source for the required action NAME is not available |
4456 | A Sieve to Scheme Translator @command{sieve.scm} translates a given | 4647 | A Sieve to Scheme Translator @command{sieve.scm} translates a given |
4457 | Sieve script into an equivalent Scheme program and optionally executes | 4648 | Sieve script into an equivalent Scheme program and optionally executes |
4458 | it. The program itself is written in Scheme and requires presence of | 4649 | it. The program itself is written in Scheme and requires presence of |
4459 | Guile 1.4 on the system. For more information on Guile refer to | 4650 | Guile version 1.8 or newer on the system. For more information on |
4460 | @ref{Top,,Overview,guile,The Guile Reference Manual}. | 4651 | Guile refer to @ref{Top,,Overview,guile,The Guile Reference Manual}. |
4461 | 4652 | ||
4462 | @table @option | 4653 | @table @option |
4463 | @item -f @var{filename} | 4654 | @item -f @var{filename} |
... | @@ -4492,7 +4683,15 @@ It processes mailboxes, applying the user-supplied scheme procedures | ... | @@ -4492,7 +4683,15 @@ It processes mailboxes, applying the user-supplied scheme procedures |
4492 | to each of them in turn and saves the resulting output in mailbox | 4683 | to each of them in turn and saves the resulting output in mailbox |
4493 | format. | 4684 | format. |
4494 | 4685 | ||
4495 | The program uses following option groups: @FIXME-xref{mailbox}. | 4686 | The following configuration statements affect the behavior of |
4687 | @command{guimb}: | ||
4688 | |||
4689 | @multitable @columnfractions 0.3 0.6 | ||
4690 | @headitem Statement @tab Reference | ||
4691 | @item debug @tab @xref{Debug Statement}. | ||
4692 | @item mailbox @tab @xref{Mailbox Statement}. | ||
4693 | @item locking @tab @xref{Locking Statement}. | ||
4694 | @end multitable | ||
4496 | 4695 | ||
4497 | @menu | 4696 | @menu |
4498 | * Specifying Scheme Program to Execute:: | 4697 | * Specifying Scheme Program to Execute:: |
... | @@ -4650,6 +4849,7 @@ and appends the received data to the local mailboxes. | ... | @@ -4650,6 +4849,7 @@ and appends the received data to the local mailboxes. |
4650 | 4849 | ||
4651 | @menu | 4850 | @menu |
4652 | * Invocation:: Mail.local options | 4851 | * Invocation:: Mail.local options |
4852 | * Mail.local Config:: | ||
4653 | * MTA:: Using mail.local with various MTAs | 4853 | * MTA:: Using mail.local with various MTAs |
4654 | * Mailbox Quotas:: Setting up mailbox quotas. | 4854 | * Mailbox Quotas:: Setting up mailbox quotas. |
4655 | * Sieve Filters:: Implementing user-defined Sieve mail filters. | 4855 | * Sieve Filters:: Implementing user-defined Sieve mail filters. |
... | @@ -4759,6 +4959,87 @@ default, 'service unavailable' is returned if the message exceeds | ... | @@ -4759,6 +4959,87 @@ default, 'service unavailable' is returned if the message exceeds |
4759 | the mailbox quota. | 4959 | the mailbox quota. |
4760 | @end table | 4960 | @end table |
4761 | 4961 | ||
4962 | @node Mail.local Config | ||
4963 | @subsection Mail.local Configuration | ||
4964 | |||
4965 | The behavior of mail.local is affected by the following configuration | ||
4966 | statements: | ||
4967 | |||
4968 | @multitable @columnfractions 0.3 0.6 | ||
4969 | @headitem Statement @tab Reference | ||
4970 | @item debug @tab @xref{Debug Statement}. | ||
4971 | @item mailbox @tab @xref{Mailbox Statement}. | ||
4972 | @item locking @tab @xref{Locking Statement}. | ||
4973 | @item pam @tab @xref{PAM Statement}. | ||
4974 | @item sql @tab @xref{SQL Statement}. | ||
4975 | @item virtdomain @tab @xref{Virtdomain Statement}. | ||
4976 | @item radius @tab @xref{Radius Statement}. | ||
4977 | @item ldap @tab @xref{LDAP Statement}. | ||
4978 | @item auth @tab @xref{Auth Statement}. | ||
4979 | @item mailer @tab @xref{Mailer Statement}. | ||
4980 | @end multitable | ||
4981 | |||
4982 | Additionally, @command{mail.local} defines the following configuration | ||
4983 | statements for its use: | ||
4984 | |||
4985 | @deffn {Mail.local Config} ex-multiple-delivery-success @var{bool} | ||
4986 | In case of multiple delivery, exit with code 0 if at least one | ||
4987 | delivery has succeeded. | ||
4988 | @end deffn | ||
4989 | |||
4990 | @deffn {Mail.local Config} ex-quota-tempfail @var{bool} | ||
4991 | Indicate temporary failure if the recipient is over his mail quota. | ||
4992 | By default, permanent failure is returned. | ||
4993 | @end deffn | ||
4994 | |||
4995 | @deffn {Mail.local Config} quota-db @var{file} | ||
4996 | Set the name of DBM quota database file. | ||
4997 | @end deffn | ||
4998 | |||
4999 | @deffn {Mail.local Config} sieve-filter @var{pattern} | ||
5000 | Set file name or name pattern of the Sieve filter file. | ||
5001 | |||
5002 | The following meta-sequences are expanded in @var{pattern}: | ||
5003 | |||
5004 | @table @asis | ||
5005 | @item ~ | ||
5006 | @itemx %h | ||
5007 | Expands to the recipient home directory. | ||
5008 | |||
5009 | @item %u | ||
5010 | Expands to the recipient user name. | ||
5011 | @end table | ||
5012 | @end deffn | ||
5013 | |||
5014 | @deffn {Mail.local Config} message-id-header @var{name} | ||
5015 | When logging Sieve actions, identify messages by the value of this | ||
5016 | header. | ||
5017 | @end deffn | ||
5018 | |||
5019 | @deffn {Mail.local Config} guile-filter @var{pattern} | ||
5020 | File name or name pattern for Guile filter file. See | ||
5021 | @code{sieve-filter} above, for the description if @var{pattern}. | ||
5022 | @end deffn | ||
5023 | |||
5024 | @deffn {Mail.local Config} debug @var{flags} | ||
5025 | Set additional debugging flags. Valid flags are: | ||
5026 | |||
5027 | @table @asis | ||
5028 | @item g | ||
5029 | Print @command{guimb} stack traces. | ||
5030 | |||
5031 | @item t | ||
5032 | Enable @command{sieve} trace (@code{MU_SIEVE_DEBUG_TRACE}). | ||
5033 | |||
5034 | @item i | ||
5035 | Enable @command{sieve} instructions trace | ||
5036 | (@code{MU_SIEVE_DEBUG_INSTR}). | ||
5037 | |||
5038 | @item l | ||
5039 | Log executed Sieve actions. | ||
5040 | @end table | ||
5041 | @end deffn | ||
5042 | |||
4762 | @node MTA | 5043 | @node MTA |
4763 | @subsection Using @command{mail.local} with Various MTAs | 5044 | @subsection Using @command{mail.local} with Various MTAs |
4764 | 5045 | ||
... | @@ -5003,16 +5284,17 @@ To summarize this, here is a working @file{mailutils.rc} entry for | ... | @@ -5003,16 +5284,17 @@ To summarize this, here is a working @file{mailutils.rc} entry for |
5003 | 5284 | ||
5004 | @node Sieve Filters | 5285 | @node Sieve Filters |
5005 | @subsection Implementing User-defined Sieve Mail Filters | 5286 | @subsection Implementing User-defined Sieve Mail Filters |
5287 | @WRITEME | ||
5006 | 5288 | ||
5007 | @node Scheme Filters | 5289 | @node Scheme Filters |
5008 | @subsection Implementing User-defined Scheme Mail Filters | 5290 | @subsection Implementing User-defined Scheme Mail Filters |
5291 | @WRITEME | ||
5009 | 5292 | ||
5010 | @page | 5293 | @page |
5011 | @node mail.remote | 5294 | @node mail.remote |
5012 | @section @command{mail.remote} --- Pseudo-Sendmail Interface for Mail Delivery | 5295 | @section @command{mail.remote} --- Pseudo-Sendmail Interface for Mail Delivery |
5013 | @pindex mail.remote | 5296 | @pindex mail.remote |
5014 | 5297 | @WRITEME | |
5015 | [FIXME] | ||
5016 | 5298 | ||
5017 | @page | 5299 | @page |
5018 | @node mimeview | 5300 | @node mimeview |
... | @@ -5023,12 +5305,12 @@ To summarize this, here is a working @file{mailutils.rc} entry for | ... | @@ -5023,12 +5305,12 @@ To summarize this, here is a working @file{mailutils.rc} entry for |
5023 | to autodetect its type and invoke an appropriate file viewer. | 5305 | to autodetect its type and invoke an appropriate file viewer. |
5024 | 5306 | ||
5025 | To detect the file type, @command{mimeview} uses @file{mime.types} | 5307 | To detect the file type, @command{mimeview} uses @file{mime.types} |
5026 | file. This file is a part of Common UNIX Printing System, see | 5308 | file. This file is a part of Common UNIX Printing System, |
5027 | @code{man mime.types} for the description of its syntax. [FIXME: | 5309 | @ref{mime.types,,,mime.types(5), mime.types man page}. By default |
5028 | provide an xref to CUPS]. By default @command{mimeview} searches for | 5310 | @command{mimeview} searches for @file{mime.types} in |
5029 | @file{mime.types} in @file{$prefix/etc/cups/}@footnote{The exact | 5311 | @file{$prefix/etc/cups/}@footnote{The exact location is determined at |
5030 | location is determined at configuration time by setting environment | 5312 | configuration time by setting environment variable |
5031 | variable @var{DEFAULT_CUPS_CONFDIR}. On most sites running | 5313 | @env{DEFAULT_CUPS_CONFDIR}. On most sites running |
5032 | 5314 | ||
5033 | @smallexample | 5315 | @smallexample |
5034 | ./configure DEFAULT_CUPS_CONFDIR=/etc/cups | 5316 | ./configure DEFAULT_CUPS_CONFDIR=/etc/cups |
... | @@ -5053,6 +5335,14 @@ $HOME/.mailcap:/usr/local/etc/mailcap:\ | ... | @@ -5053,6 +5335,14 @@ $HOME/.mailcap:/usr/local/etc/mailcap:\ |
5053 | /etc/mail/mailcap:/usr/public/lib/mailcap | 5335 | /etc/mail/mailcap:/usr/public/lib/mailcap |
5054 | @end smallexample | 5336 | @end smallexample |
5055 | 5337 | ||
5338 | @menu | ||
5339 | * Mimeview Invocation:: | ||
5340 | * Mimeview Config:: | ||
5341 | @end menu | ||
5342 | |||
5343 | @node Mimeview Invocation | ||
5344 | @subsection Mimeview Invocation | ||
5345 | |||
5056 | The following table summarizes options specific for @command{mimeview}: | 5346 | The following table summarizes options specific for @command{mimeview}: |
5057 | 5347 | ||
5058 | @table @option | 5348 | @table @option |
... | @@ -5150,6 +5440,29 @@ Use @var{file} as @file{mime.types} file. If @var{file} is a | ... | @@ -5150,6 +5440,29 @@ Use @var{file} as @file{mime.types} file. If @var{file} is a |
5150 | directory, use @file{@var{file}/mime.types} | 5440 | directory, use @file{@var{file}/mime.types} |
5151 | @end table | 5441 | @end table |
5152 | 5442 | ||
5443 | @node Mimeview Config | ||
5444 | @subsection Mimeview Config | ||
5445 | |||
5446 | The following configuration statements affect the behavior of | ||
5447 | @command{mimeview}: | ||
5448 | |||
5449 | @multitable @columnfractions 0.3 0.6 | ||
5450 | @headitem Statement @tab Reference | ||
5451 | @item debug @tab @xref{Debug Statement}. | ||
5452 | @end multitable | ||
5453 | |||
5454 | @deffn {Mimeview Config} debug @var{number} | ||
5455 | Set @command{mimeview} debug level. @xref{Mimeview Invocation, | ||
5456 | --debug}, for a description of debug levels. | ||
5457 | @end deffn | ||
5458 | |||
5459 | @deffn {Mimeview Config} mimetypes @var{file} | ||
5460 | Read @var{file} instead of the default @file{mime.types}. | ||
5461 | @end deffn | ||
5462 | |||
5463 | @deffn {Mimeview Config} metamail @var{program} | ||
5464 | Use @var{program} to display files. | ||
5465 | @end deffn | ||
5153 | 5466 | ||
5154 | @page | 5467 | @page |
5155 | @node pop3d | 5468 | @node pop3d |
... | @@ -5172,17 +5485,17 @@ pop3 stream tcp nowait root /usr/local/sbin/pop3d pop3d | ... | @@ -5172,17 +5485,17 @@ pop3 stream tcp nowait root /usr/local/sbin/pop3d pop3d |
5172 | This is the default operation mode. | 5485 | This is the default operation mode. |
5173 | 5486 | ||
5174 | @item Standalone | 5487 | @item Standalone |
5175 | The server runs as daemon, forking a child for each new connection. This | 5488 | The server runs as daemon, forking a child for each new connection. |
5176 | mode is triggered by @option{-d} command line switch. | ||
5177 | @end table | 5489 | @end table |
5178 | 5490 | ||
5179 | The program uses following option groups: @FIXME-xref{mailbox}, | 5491 | The server operation mode is configured using @code{mode} statement |
5180 | @FIXME-xref{daemon}, @FIXME-xref{logging}, @FIXME-xref{auth}. | 5492 | (@pxref{Server Settings, mode}). |
5181 | 5493 | ||
5182 | @menu | 5494 | @menu |
5183 | * Login delay:: | 5495 | * Login delay:: |
5184 | * Auto-expire:: | 5496 | * Auto-expire:: |
5185 | * Bulletins:: | 5497 | * Bulletins:: |
5498 | * Conf-pop3d:: Pop3d Configuration | ||
5186 | * Command line options:: | 5499 | * Command line options:: |
5187 | @end menu | 5500 | @end menu |
5188 | 5501 | ||
... | @@ -5209,22 +5522,23 @@ The message will be issued after a valid password is entered. This prevents | ... | @@ -5209,22 +5522,23 @@ The message will be issued after a valid password is entered. This prevents |
5209 | this feature from being used by malicious clients for account | 5522 | this feature from being used by malicious clients for account |
5210 | harvesting. | 5523 | harvesting. |
5211 | 5524 | ||
5212 | To enable the login delay capability, specify the minimum delay in | 5525 | To enable the login delay capability, specify the minimum delay |
5213 | seconds with @option{--login-delay} option, for example: | 5526 | using @code{login-delay} configuration statement, e.g.: |
5214 | 5527 | ||
5215 | @smallexample | 5528 | @smallexample |
5216 | $ pop3d --login-delay=60 | 5529 | login-delay 60; |
5217 | @end smallexample | 5530 | @end smallexample |
5218 | 5531 | ||
5219 | The @command{pop3d} utility keeps each user's last login time in a | 5532 | The @command{pop3d} utility keeps each user's last login time in a |
5220 | special DBM file, called @dfn{login statistics database}, so to be | 5533 | special DBM file, called @dfn{login statistics database}, so to be |
5221 | able to use this feature, Mailutils must be compiled with DBM support. | 5534 | able to use this feature, Mailutils must be compiled with DBM support. |
5222 | By default, the login statistics database is called | 5535 | By default, the login statistics database is called |
5223 | @file{/var/run/pop3-login.db}. You can change its name at run time | 5536 | @file{/var/run/pop3-login.db}. You can change its name using |
5224 | using @option{--stat-file}: | 5537 | @code{stat-file} configuration statement: |
5225 | 5538 | ||
5226 | @smallexample | 5539 | @smallexample |
5227 | $ pop3d --login-delay=60 --stat-file=/tmp/pop.login | 5540 | login-delay 60; |
5541 | stat-file /tmp/pop.login; | ||
5228 | @end smallexample | 5542 | @end smallexample |
5229 | 5543 | ||
5230 | Notice, that there is no need to include the @samp{.db} suffix in the | 5544 | Notice, that there is no need to include the @samp{.db} suffix in the |
... | @@ -5233,7 +5547,7 @@ file name. | ... | @@ -5233,7 +5547,7 @@ file name. |
5233 | The login delay facility will be enabled only if @command{pop3d} is | 5547 | The login delay facility will be enabled only if @command{pop3d} is |
5234 | able to access the statistics database for both reading and | 5548 | able to access the statistics database for both reading and |
5235 | writing. If it is not, it will report this using @command{syslog} and | 5549 | writing. If it is not, it will report this using @command{syslog} and |
5236 | start up without login delay restrictions. The common error message | 5550 | start up without login delay restrictions. A common error message |
5237 | looks like: | 5551 | looks like: |
5238 | 5552 | ||
5239 | @smallexample | 5553 | @smallexample |
... | @@ -5250,17 +5564,14 @@ are in use, there response will contain the string @samp{LOGIN-DELAY | ... | @@ -5250,17 +5564,14 @@ are in use, there response will contain the string @samp{LOGIN-DELAY |
5250 | 5564 | ||
5251 | Automatic expiration of messages allows you to limit the period of | 5565 | Automatic expiration of messages allows you to limit the period of |
5252 | time users are permitted to keep their messages on the server. It is | 5566 | time users are permitted to keep their messages on the server. It is |
5253 | enabled by @option{--expire} command line option: | 5567 | enabled by @code{expire} configuration statement: |
5254 | 5568 | ||
5255 | @smallexample | 5569 | @table @code |
5256 | $ pop3d --expire=@var{days} | 5570 | @item expire @var{n}; |
5257 | @end smallexample | 5571 | Enable automatic expiration of messages after @var{n} days. |
5258 | 5572 | @end table | |
5259 | @noindent | ||
5260 | Here, @var{days} specifies the minimum server retention period, in | ||
5261 | days, for retrieved messages on the server. | ||
5262 | 5573 | ||
5263 | Current implementation works as follows. When a message is | 5574 | The current implementation works as follows. When a message is |
5264 | downloaded by @code{RETR} or @code{TOP} command, it is marked with | 5575 | downloaded by @code{RETR} or @code{TOP} command, it is marked with |
5265 | @samp{X-Expire-Timestamp: @var{n}} header, where @var{n} is current | 5576 | @samp{X-Expire-Timestamp: @var{n}} header, where @var{n} is current |
5266 | value of UNIX timestamp. The exact expiration mechanism | 5577 | value of UNIX timestamp. The exact expiration mechanism |
... | @@ -5269,8 +5580,14 @@ depends on you. Mailutils allows you two options: | ... | @@ -5269,8 +5580,14 @@ depends on you. Mailutils allows you two options: |
5269 | @enumerate | 5580 | @enumerate |
5270 | @item | 5581 | @item |
5271 | Expired messages are deleted by @command{pop3d} upon closing the | 5582 | Expired messages are deleted by @command{pop3d} upon closing the |
5272 | mailbox. You specify this mechanism using @option{--delete-expired} | 5583 | mailbox. You specify this mechanism using @code{delete-expired} |
5273 | command line option. | 5584 | configuration statement: |
5585 | |||
5586 | @table @command | ||
5587 | @item delete-expired @var{bool}; | ||
5588 | If @var{bool} is @samp{true}, delete expired messages after receiving | ||
5589 | the @code{QUIT} command. | ||
5590 | @end table | ||
5274 | 5591 | ||
5275 | @item | 5592 | @item |
5276 | Expired messages remain in the mailbox after closing it. The system | 5593 | Expired messages remain in the mailbox after closing it. The system |
... | @@ -5291,11 +5608,11 @@ if timestamp :before "X-Expire-Timestamp" "now - 5 days" | ... | @@ -5291,11 +5608,11 @@ if timestamp :before "X-Expire-Timestamp" "now - 5 days" |
5291 | 5608 | ||
5292 | This script will remove expired messages 5 days after the | 5609 | This script will remove expired messages 5 days after the |
5293 | retrieval. Replace @samp{5} with the desired expiration period and | 5610 | retrieval. Replace @samp{5} with the desired expiration period and |
5294 | make sure it equals the argument to @option{--expire} command. | 5611 | make sure it equals the argument to @command{expire} configuration keyword. |
5295 | @end enumerate | 5612 | @end enumerate |
5296 | 5613 | ||
5297 | The option @option{--expire=0} means the client is not permitted to | 5614 | The statement @code{expire 0} means the client is not permitted to |
5298 | leave mail on the server. It always implies @option{--delete-expired}. | 5615 | leave mail on the server. It always implies @code{delete-expired true}. |
5299 | 5616 | ||
5300 | @node Bulletins | 5617 | @node Bulletins |
5301 | @subsection Bulletins | 5618 | @subsection Bulletins |
... | @@ -5313,17 +5630,17 @@ the user mailbox. | ... | @@ -5313,17 +5630,17 @@ the user mailbox. |
5313 | The user last bulletin number can be kept in two places. First, it | 5630 | The user last bulletin number can be kept in two places. First, it |
5314 | can be stored in file @file{.popbull} in his home directory. Secondly, | 5631 | can be stored in file @file{.popbull} in his home directory. Secondly, |
5315 | if Mailutils is compiled with DBM support, the numbers can be kept in | 5632 | if Mailutils is compiled with DBM support, the numbers can be kept in |
5316 | a DBM file, supplied via @option{--bulletin-db} command line option. If | 5633 | a DBM file, supplied via @code{bulletin-db} configuration statement. If |
5317 | both the database and the @file{.popbull} file are present, the data | 5634 | both the database and the @file{.popbull} file are present, the data |
5318 | from the database take precedence. | 5635 | from the database take precedence. |
5319 | 5636 | ||
5320 | To enable this feature, use the following command line options: | 5637 | To enable this feature, use the following configuration statements: |
5321 | 5638 | ||
5322 | @table @option | 5639 | @table @code |
5323 | @item --bulletin-source=@var{mbox} | 5640 | @item bulletin-source @var{mbox} |
5324 | Set the @acronym{URL} of the bulletin source mailbox. | 5641 | Set the @acronym{URL} of the bulletin source mailbox. |
5325 | 5642 | ||
5326 | @item --bulletin-db=@var{file} | 5643 | @item bulletin-db @var{file} |
5327 | Set the name of the database file to keep last bulletin numbers in. | 5644 | Set the name of the database file to keep last bulletin numbers in. |
5328 | Be sure not to specify @samp{.db} extension. | 5645 | Be sure not to specify @samp{.db} extension. |
5329 | @end table | 5646 | @end table |
... | @@ -5335,24 +5652,80 @@ and to keep the database of last delivered bulletin numbers in | ... | @@ -5335,24 +5652,80 @@ and to keep the database of last delivered bulletin numbers in |
5335 | 5652 | ||
5336 | @smallexample | 5653 | @smallexample |
5337 | @group | 5654 | @group |
5338 | $ pop3d --bulletin-source=mh:/var/spool/bull/mbox \ | 5655 | bulletin-source mh:/var/spool/bull/mbox; |
5339 | --bulletin-db=/var/spool/bull/numbers | 5656 | bulletin-db /var/spool/bull/numbers; |
5340 | @end group | 5657 | @end group |
5341 | @end smallexample | 5658 | @end smallexample |
5342 | 5659 | ||
5660 | @node Conf-pop3d | ||
5661 | @subsection Pop3d Configuration | ||
5662 | |||
5663 | The following configuration file statements affect the behavior of | ||
5664 | @command{pop3d}. | ||
5665 | |||
5666 | @multitable @columnfractions 0.3 0.6 | ||
5667 | @headitem Statement @tab Reference | ||
5668 | @item debug @tab @xref{Debug Statement}. | ||
5669 | @item tls @tab @xref{TLS Statement}. | ||
5670 | @item mailbox @tab @xref{Mailbox Statement}. | ||
5671 | @item locking @tab @xref{Locking Statement}. | ||
5672 | @item logging @tab @xref{Logging Statement}. | ||
5673 | @item pam @tab @xref{PAM Statement}. | ||
5674 | @item sql @tab @xref{SQL Statement}. | ||
5675 | @item virtdomain @tab @xref{Virtdomain Statement}. | ||
5676 | @item radius @tab @xref{Radius Statement}. | ||
5677 | @item ldap @tab @xref{LDAP Statement}. | ||
5678 | @item auth @tab @xref{Auth Statement}. | ||
5679 | @item server @tab @xref{Server Settings}. | ||
5680 | @item acl @tab @xref{ACL Statement}. | ||
5681 | @item tcp-wrappers @tab @xref{Tcp-wrappers Statement}. | ||
5682 | @end multitable | ||
5683 | |||
5684 | @deffn {Pop3d Conf} undelete @var{bool} | ||
5685 | On startup, clear deletion marks from all the messages. | ||
5686 | @end deffn | ||
5687 | |||
5688 | @deffn {Pop3d Conf} expire @var{n} | ||
5689 | Automatically expire read messages after @var{n} | ||
5690 | days. @xref{Auto-expire}, for a detailed description. | ||
5691 | @end deffn | ||
5692 | |||
5693 | @deffn {Pop3d Conf} delete-expired @var{bool} | ||
5694 | Delete expired messages upon closing the mailbox. @xref{Auto-expire}, | ||
5695 | for a detailed description. | ||
5696 | @end deffn | ||
5697 | |||
5698 | @deffn {Pop3d Conf} tls-required @var{bool} | ||
5699 | Always require @code{STLS} command before entering authentication | ||
5700 | phase. | ||
5701 | @end deffn | ||
5702 | |||
5703 | @deffn {Pop3d Conf} login-delay @var{duration} | ||
5704 | Set the minimal allowed delay between two successive logins. | ||
5705 | @xref{Login delay}, for more information. | ||
5706 | @end deffn | ||
5707 | |||
5708 | @deffn {Pop3d Conf} stat-file @var{file} | ||
5709 | Set the name of login statistics file for the @code{login-delay} | ||
5710 | facility. @xref{Login delay}, for more information. | ||
5711 | @end deffn | ||
5712 | |||
5713 | @deffn {Pop3d Conf} bulletin-source @var{file} | ||
5714 | Get bulletins from the specified mailbox. @xref{Bulletins}, for a | ||
5715 | detailed description. | ||
5716 | @end deffn | ||
5717 | |||
5718 | @deffn {Pop3d Conf} bulletin-db @var{file} | ||
5719 | Set bulletin database file name. @xref{Bulletins}, for a | ||
5720 | detailed description. | ||
5721 | @end deffn | ||
5722 | |||
5343 | @node Command line options | 5723 | @node Command line options |
5344 | @subsection Command line options | 5724 | @subsection Command line options |
5345 | 5725 | ||
5346 | The following table summarizes all @command{pop3d} command line options. | 5726 | The following table summarizes all @command{pop3d} command line options. |
5347 | 5727 | ||
5348 | @table @option | 5728 | @table @option |
5349 | @item --bulletin-db=@var{file} | ||
5350 | Set the name of the database file to keep last bulletin numbers in. | ||
5351 | Be sure not to specify @samp{.db} extension. @xref{Bulletins}. | ||
5352 | |||
5353 | @item --bulletin-source=@var{mbox} | ||
5354 | Set the @acronym{URL} of the bulletin source mailbox. @xref{Bulletins}. | ||
5355 | |||
5356 | @item -d[@var{number}] | 5729 | @item -d[@var{number}] |
5357 | @itemx --daemon[=@var{number}] | 5730 | @itemx --daemon[=@var{number}] |
5358 | Run in standalone mode. An optional @var{number} specifies the maximum number | 5731 | Run in standalone mode. An optional @var{number} specifies the maximum number |
... | @@ -5361,13 +5734,6 @@ it defaults to 10 processes. | ... | @@ -5361,13 +5734,6 @@ it defaults to 10 processes. |
5361 | @emph{Please note}, that there should be no whitespace between the | 5734 | @emph{Please note}, that there should be no whitespace between the |
5362 | @option{-d} and its parameter. | 5735 | @option{-d} and its parameter. |
5363 | 5736 | ||
5364 | @item --delete-expired | ||
5365 | Delete expired messages upon closing the mailbox. @xref{Auto-expire}. | ||
5366 | |||
5367 | @item --expire=@var{days} | ||
5368 | Expire read messages after the given number of days. If @var{days} is | ||
5369 | 0, this option implies @option{--delete-expired}. @xref{Auto-expire}. | ||
5370 | |||
5371 | @item -i | 5737 | @item -i |
5372 | @itemx --inetd | 5738 | @itemx --inetd |
5373 | Run in inetd mode. | 5739 | Run in inetd mode. |
... | @@ -5376,41 +5742,15 @@ Run in inetd mode. | ... | @@ -5376,41 +5742,15 @@ Run in inetd mode. |
5376 | @itemx --help | 5742 | @itemx --help |
5377 | Display short help message and exit. | 5743 | Display short help message and exit. |
5378 | 5744 | ||
5379 | @item --login-delay=@var{seconds} | 5745 | @item --foreground |
5380 | Sets the minimum allowed delay between closing a pop3d session and | 5746 | Remain in foreground. |
5381 | opening it again with the same user name. @xref{Login delay}. | ||
5382 | |||
5383 | @item -m @var{path} | ||
5384 | @itemx --mail-spool=@var{path} | ||
5385 | Set path to the mailspool directory | ||
5386 | |||
5387 | @item -p @var{number} | ||
5388 | @itemx --port @var{number} | ||
5389 | Listen on given port @var{number}. This option is meaningful only in | ||
5390 | standalone mode. It defaults to port 110. | ||
5391 | |||
5392 | @item --stat-file=@var{filename} | ||
5393 | Sets the name of the login timestamp database, used with | ||
5394 | @option{--login-delay}. By default, these data are kept in | ||
5395 | @file{/var/run/pop3-login}. Be sure to specify the file name | ||
5396 | @emph{without} DBM-specific suffix. @xref{Login delay}. | ||
5397 | |||
5398 | @item -t @var{number} | ||
5399 | @itemx --timeout @var{number} | ||
5400 | Set idle timeout to given @var{number} of seconds. Default is 600 seconds (10 | ||
5401 | minutes). The daemon breaks the connection if it receives no commands | ||
5402 | from the client within that number of seconds. | ||
5403 | |||
5404 | @item --tls-required | ||
5405 | Always require @code{STLS} command before entering authentication phase. | ||
5406 | |||
5407 | @item -v | ||
5408 | @itemx --version | ||
5409 | Display program version and exit. | ||
5410 | 5747 | ||
5411 | @item --undelete | 5748 | @item --tls[=@var{bool}] |
5412 | Remove all deletion marks from the messages after opening the mailbox. | 5749 | Enable TLS. If optional argument is supplied and is @samp{false}, then |
5750 | disable it. | ||
5413 | 5751 | ||
5752 | @item --debug-auth | ||
5753 | Enable debugging of authentication functions. | ||
5414 | @end table | 5754 | @end table |
5415 | 5755 | ||
5416 | @page | 5756 | @page |
... | @@ -5424,6 +5764,7 @@ be run either as a standalone program or from @file{inetd.conf} file. | ... | @@ -5424,6 +5764,7 @@ be run either as a standalone program or from @file{inetd.conf} file. |
5424 | 5764 | ||
5425 | @menu | 5765 | @menu |
5426 | * Namespace:: Namespace. | 5766 | * Namespace:: Namespace. |
5767 | * Conf-imap4d:: Configuration. | ||
5427 | * Starting imap4d:: Invocation Options. | 5768 | * Starting imap4d:: Invocation Options. |
5428 | @end menu | 5769 | @end menu |
5429 | 5770 | ||
... | @@ -5475,8 +5816,214 @@ Empty | ... | @@ -5475,8 +5816,214 @@ Empty |
5475 | see or otherwise access mailboxes residing in the directories other than | 5816 | see or otherwise access mailboxes residing in the directories other than |
5476 | his own home. | 5817 | his own home. |
5477 | 5818 | ||
5478 | To change these defaults, use @option{--shared-namespace} and | 5819 | To change these defaults, use @code{shared-namespace} and |
5479 | @option{--other-namespace} options. | 5820 | @code{other-namespace} configuration statements: |
5821 | |||
5822 | @table @command | ||
5823 | @item shared-namespace @var{list} | ||
5824 | Set shared namespace. | ||
5825 | |||
5826 | @item other-namespace @var{list} | ||
5827 | Set other users' namespace. | ||
5828 | @end table | ||
5829 | |||
5830 | For both statements, the argument is a list of directories that belong | ||
5831 | to this namespace, e.g.: | ||
5832 | |||
5833 | @smallexample | ||
5834 | shared-namespace (/var/spool/mail,/var/mail); | ||
5835 | @end smallexample | ||
5836 | |||
5837 | If during the session the user creates a mailbox within either of | ||
5838 | these namespaces, the mode of the mailbox is determined by the | ||
5839 | following configuration statements: | ||
5840 | |||
5841 | @table @command | ||
5842 | @item shared-mailbox-mode @var{mode} | ||
5843 | Set file mode for mailboxes created in shared namespace. | ||
5844 | |||
5845 | @item other-mailbox-mode @var{mode} | ||
5846 | Set file mode for mailboxes created in other users' namespace. | ||
5847 | @end table | ||
5848 | |||
5849 | In both cases, the argument, @var{mode} is a list of symbolic mode | ||
5850 | settings, similar to that used by @command{chmod}. It is a list of | ||
5851 | comma-separated mode change commands. Each command begins with a | ||
5852 | letter @samp{g}, which means set mode bits for file group, or | ||
5853 | @samp{o}, which means set mode bits for other users (note, that there | ||
5854 | is no @samp{u} specifier, since user ownership of his mailbox cannot | ||
5855 | be changed). This letter is followed by an @samp{=} (or @samp{+}), and | ||
5856 | a list of modes to be set. This list can contain only two letters: | ||
5857 | @samp{r} to set read permission, and @samp{w} to set write permission. | ||
5858 | |||
5859 | For example, the following statement sets read and write permissions | ||
5860 | for the group: | ||
5861 | |||
5862 | @smallexample | ||
5863 | shared-namespace-mode g=rw; | ||
5864 | @end smallexample | ||
5865 | |||
5866 | @node Conf-imap4d | ||
5867 | @subsection Configuration of @command{imap4d}. | ||
5868 | |||
5869 | The behavior of @command{imap4d} is altered by the following | ||
5870 | configuration statements: | ||
5871 | |||
5872 | @multitable @columnfractions 0.3 0.6 | ||
5873 | @headitem Statement @tab Reference | ||
5874 | @item debug @tab @xref{Debug Statement}. | ||
5875 | @item tls @tab @xref{TLS Statement}. | ||
5876 | @item mailbox @tab @xref{Mailbox Statement}. | ||
5877 | @item locking @tab @xref{Locking Statement}. | ||
5878 | @item logging @tab @xref{Logging Statement}. | ||
5879 | @item pam @tab @xref{PAM Statement}. | ||
5880 | @item sql @tab @xref{SQL Statement}. | ||
5881 | @item virtdomain @tab @xref{Virtdomain Statement}. | ||
5882 | @item radius @tab @xref{Radius Statement}. | ||
5883 | @item ldap @tab @xref{LDAP Statement}. | ||
5884 | @item auth @tab @xref{Auth Statement}. | ||
5885 | @item server @tab @xref{Server Settings}. | ||
5886 | @item acl @tab @xref{ACL Statement}. | ||
5887 | @item tcp-wrappers @tab @xref{Tcp-wrappers Statement}. | ||
5888 | @end multitable | ||
5889 | |||
5890 | @deffn {Imap4d Conf} shared-namespace @var{list} | ||
5891 | Set shared namespace. @var{List} is a list of | ||
5892 | strings. @xref{Namespace}, for a detailed description. | ||
5893 | @end deffn | ||
5894 | |||
5895 | @deffn {Imap4d Conf} other-namespace @var{list} | ||
5896 | Set other users' namespace. @var{List} is a list of | ||
5897 | strings. @xref{Namespace}, for a detailed description. | ||
5898 | @end deffn | ||
5899 | |||
5900 | @deffn {Imap4d Conf} shared-mailbox-mode @var{str} | ||
5901 | Set file mode for mailboxes created within shared namespace. | ||
5902 | @xref{Namespace}, for a detailed description. | ||
5903 | @end deffn | ||
5904 | |||
5905 | @deffn {Imap4d Conf} other-mailbox-mode @var{str} | ||
5906 | Set file mode for mailboxes created within other users' namespace. | ||
5907 | @xref{Namespace}, for a detailed description. | ||
5908 | @end deffn | ||
5909 | |||
5910 | @deffn {Imap4d Conf} login-disabled @var{bool} | ||
5911 | Disable @code{LOGIN} command, if @var{bool} is @samp{true}. | ||
5912 | @end deffn | ||
5913 | |||
5914 | @deffn {Imap4d Conf} create-home-dir @var{bool} | ||
5915 | Create nonexisting user home directories. See also home-dir-mode, below. | ||
5916 | @end deffn | ||
5917 | |||
5918 | @deffn {Imap4d Conf} home-dir-mode @var{mode} | ||
5919 | Set file mode for created user home directories. Mode is specified in | ||
5920 | octal. | ||
5921 | |||
5922 | The default value for @var{mode} is @samp{700} (@samp{drwx------} in | ||
5923 | @code{ls} terms). | ||
5924 | @end deffn | ||
5925 | |||
5926 | @deffn {Imap4d Conf} tls-required @var{bool} | ||
5927 | Require successful @code{STARTTLS} command before entering | ||
5928 | authentication phase. | ||
5929 | @end deffn | ||
5930 | |||
5931 | @deffn {Imap4d Conf} preauth @var{mode} | ||
5932 | Configure PREAUTH mode. Valid arguments are: | ||
5933 | |||
5934 | @table @asis | ||
5935 | @item prog:///@var{program-name} | ||
5936 | @command{Imap4d} invokes an external program to authenticate the | ||
5937 | connection. The command line is obtained from the supplied string, | ||
5938 | by expandind the following meta-variables: | ||
5939 | |||
5940 | @table @code | ||
5941 | @item $@{client_address@} | ||
5942 | Remote IP address in dotted-quad notation; | ||
5943 | |||
5944 | @item $@{client_port@} | ||
5945 | Remote port number; | ||
5946 | |||
5947 | @item $@{server_address@} | ||
5948 | Local IP address; | ||
5949 | |||
5950 | @item $@{server_port@} | ||
5951 | Local port number. | ||
5952 | @end table | ||
5953 | |||
5954 | If the connection is authenticated, the program should print the | ||
5955 | user name, followed by a newline character, on its standard | ||
5956 | output and exit with code @samp{0}. | ||
5957 | |||
5958 | Otherwise, it shoud exit with a non-zero exit code. | ||
5959 | |||
5960 | @item ident[://:@var{port}] | ||
5961 | The remote machine is asked about the requester identity | ||
5962 | using the identification protocol (RFC 1413). Both plaintext and | ||
5963 | DES encrypted replies are understood. Optional @var{port} specifies | ||
5964 | the port to use, if it differs from the default @samp{113}. It can be | ||
5965 | either a decimal port number or a symbolic name of a service, listed | ||
5966 | in @file{/etc/services}. | ||
5967 | |||
5968 | @item stdio | ||
5969 | PREAUTH mode is enabled automatically if imap4d is started | ||
5970 | from command line in interactive mode (@option{-i} command line | ||
5971 | option). The current login name is used as the user name. | ||
5972 | @end table | ||
5973 | @end deffn | ||
5974 | |||
5975 | @deffn {Imap4d Conf} preauth-only @var{bool} | ||
5976 | If @var{bool} is @samp{true}, use only preauth mode. If unable to | ||
5977 | setup it, disconnect immediately. | ||
5978 | @end deffn | ||
5979 | |||
5980 | @deffn {Imap4d Conf} ident-keyfile @var{file} | ||
5981 | Set DES keyfile for decoding ecrypted ident responses. Used with | ||
5982 | @samp{ident://} preauth mode. | ||
5983 | @end deffn | ||
5984 | |||
5985 | @deffn {Imap4d Conf} ident-entrypt-only @var{bool} | ||
5986 | Use only encrypted IDENT responses. | ||
5987 | @end deffn | ||
5988 | |||
5989 | @deffn {Imap4d Conf} id-fields @var{list} | ||
5990 | Set list of fields to return in response to ID command. | ||
5991 | |||
5992 | Valid field names are: | ||
5993 | |||
5994 | @table @asis | ||
5995 | @item name | ||
5996 | Package name (@samp{GNU Mailutils}). | ||
5997 | |||
5998 | @item version | ||
5999 | Package version (@samp{@value{VERSION}}). | ||
6000 | |||
6001 | @item vendor | ||
6002 | Vendor name (@samp{GNU}). | ||
6003 | |||
6004 | @item support-url | ||
6005 | The string @samp{http://www.gnu.org/software/mailutils} | ||
6006 | |||
6007 | @item address | ||
6008 | The string @samp{51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA}. | ||
6009 | |||
6010 | @item os | ||
6011 | OS name. | ||
6012 | |||
6013 | @item os-version | ||
6014 | OS version number. | ||
6015 | |||
6016 | @item command | ||
6017 | Name of the @command{imap4d} binary. | ||
6018 | |||
6019 | @item arguments | ||
6020 | Invocation command line. | ||
6021 | |||
6022 | @item environment | ||
6023 | List of environment variables with their values. | ||
6024 | @end table | ||
6025 | |||
6026 | @end deffn | ||
5480 | 6027 | ||
5481 | @node Starting imap4d | 6028 | @node Starting imap4d |
5482 | @subsection Starting @command{imap4d} | 6029 | @subsection Starting @command{imap4d} |
... | @@ -5493,18 +6040,9 @@ The ``inetd'' mode allows to start the server from | ... | @@ -5493,18 +6040,9 @@ The ``inetd'' mode allows to start the server from |
5493 | imap4 stream tcp nowait root /usr/local/sbin/imap4d imap4d | 6040 | imap4 stream tcp nowait root /usr/local/sbin/imap4d imap4d |
5494 | @end smallexample | 6041 | @end smallexample |
5495 | 6042 | ||
5496 | The program uses following option groups: @FIXME-xref{mailbox}, | ||
5497 | @FIXME-xref{daemon}, @FIXME-xref{logging}, @FIXME-xref{auth}. | ||
5498 | |||
5499 | @subheading Command Line Options | 6043 | @subheading Command Line Options |
5500 | 6044 | ||
5501 | @table @option | 6045 | @table @option |
5502 | @item --create-home-dir[=@var{mode}] | ||
5503 | If a user logs in and his home directory does not exist, create | ||
5504 | it. Optional @var{mode} is an octal number specifying the permissions | ||
5505 | to be set on the created directory. It is not modified by the current | ||
5506 | @code{umask} value. The default value for @var{mode} is @samp{700} | ||
5507 | (@samp{drwx------} in @code{ls} terms). | ||
5508 | @item -d[@var{number}] | 6046 | @item -d[@var{number}] |
5509 | @itemx --daemon[=@var{number}] | 6047 | @itemx --daemon[=@var{number}] |
5510 | Run in standalone mode. An optional @var{number} specifies the maximum number | 6048 | Run in standalone mode. An optional @var{number} specifies the maximum number |
... | @@ -5512,32 +6050,26 @@ of child processes the daemon is allowed to fork. When it is omitted, | ... | @@ -5512,32 +6050,26 @@ of child processes the daemon is allowed to fork. When it is omitted, |
5512 | it defaults to 20 processes. | 6050 | it defaults to 20 processes. |
5513 | @emph{Please note}, that there should be no whitespace between the | 6051 | @emph{Please note}, that there should be no whitespace between the |
5514 | @option{-d} and its parameter. | 6052 | @option{-d} and its parameter. |
6053 | |||
5515 | @item -h | 6054 | @item -h |
5516 | @itemx --help | 6055 | @itemx --help |
5517 | Display short help message and exit. | 6056 | Display short help message and exit. |
6057 | |||
5518 | @item -i | 6058 | @item -i |
5519 | @itemx --inetd | 6059 | @itemx --inetd |
5520 | Run in inetd mode. | 6060 | Run in inetd mode. |
5521 | @item -m @var{path} | 6061 | @item --foreground |
5522 | @itemx --mail-spool=@var{path} | 6062 | Run in foreground. |
5523 | Set path to the mailspool directory | 6063 | |
5524 | @item -O @var{pathlist} | 6064 | @item --preauth |
5525 | @itemx --other-namespace=@var{pathlist} | 6065 | Start in preauth mode |
5526 | Set the list of directories forming the ``Other User's'' namespace. | 6066 | |
5527 | @var{pathlist} is a list of directory names separated by colons. | 6067 | @item --tls[=@var{bool}] |
5528 | @item -p @var{number} | 6068 | Enable TLS support |
5529 | @itemx --port @var{number} | 6069 | |
5530 | Listen on given port @var{number}. This option is meaningful only in | 6070 | @item --debug-auth |
5531 | standalone mode. It defaults to port 143. | 6071 | Debug authentication functions. |
5532 | @item -S @var{pathlist} | 6072 | |
5533 | @itemx --shared-namespace=@var{pathlist} | ||
5534 | Set the list of directories, forming the ``Shared'' | ||
5535 | namespace. @var{pathlist} is a list of directory names separated by colons. | ||
5536 | @item -t @var{number} | ||
5537 | @itemx --timeout @var{number} | ||
5538 | Set idle timeout to given @var{number} of seconds. Default is 1800 seconds (30 | ||
5539 | minutes). The daemon breaks the connection if it receives no commands | ||
5540 | from the client within that number of seconds. | ||
5541 | @item -v | 6073 | @item -v |
5542 | @itemx --version | 6074 | @itemx --version |
5543 | Display program version and exit. | 6075 | Display program version and exit. | ... | ... |
... | @@ -127,12 +127,12 @@ cb_bulletin_db (mu_debug_t debug, void *data, mu_config_value_t *val) | ... | @@ -127,12 +127,12 @@ cb_bulletin_db (mu_debug_t debug, void *data, mu_config_value_t *val) |
127 | } | 127 | } |
128 | 128 | ||
129 | static struct mu_cfg_param pop3d_cfg_param[] = { | 129 | static struct mu_cfg_param pop3d_cfg_param[] = { |
130 | { "undelete", mu_cfg_int, &undelete_on_startup, 0, NULL, | 130 | { "undelete", mu_cfg_bool, &undelete_on_startup, 0, NULL, |
131 | N_("On startup, clear deletion marks from all the messages.") }, | 131 | N_("On startup, clear deletion marks from all the messages.") }, |
132 | { "expire", mu_cfg_uint, &expire, 0, NULL, | 132 | { "expire", mu_cfg_uint, &expire, 0, NULL, |
133 | N_("Automatically expire read messages after the given number of days."), | 133 | N_("Automatically expire read messages after the given number of days."), |
134 | N_("days") }, | 134 | N_("days") }, |
135 | { "delete-expired", mu_cfg_int, &expire_on_exit, 0, NULL, | 135 | { "delete-expired", mu_cfg_bool, &expire_on_exit, 0, NULL, |
136 | N_("Delete expired messages upon closing the mailbox.") }, | 136 | N_("Delete expired messages upon closing the mailbox.") }, |
137 | #ifdef WITH_TLS | 137 | #ifdef WITH_TLS |
138 | { "tls-required", mu_cfg_bool, &tls_required, 0, NULL, | 138 | { "tls-required", mu_cfg_bool, &tls_required, 0, NULL, | ... | ... |
... | @@ -294,7 +294,7 @@ cb_ticket (mu_debug_t debug, void *data, mu_config_value_t *val) | ... | @@ -294,7 +294,7 @@ cb_ticket (mu_debug_t debug, void *data, mu_config_value_t *val) |
294 | } | 294 | } |
295 | 295 | ||
296 | static struct mu_cfg_param sieve_cfg_param[] = { | 296 | static struct mu_cfg_param sieve_cfg_param[] = { |
297 | { "keep-going", mu_cfg_int, &keep_going, 0, NULL, | 297 | { "keep-going", mu_cfg_bool, &keep_going, 0, NULL, |
298 | N_("Do not abort if execution fails on a message.") }, | 298 | N_("Do not abort if execution fails on a message.") }, |
299 | { "mbox-url", mu_cfg_string, &mbox_url, 0, NULL, | 299 | { "mbox-url", mu_cfg_string, &mbox_url, 0, NULL, |
300 | N_("Mailbox to sieve (defaults to user's mail spool)."), | 300 | N_("Mailbox to sieve (defaults to user's mail spool)."), | ... | ... |
-
Please register or sign in to post a comment