|
|
(58 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | {{Note|This article is not yet finished}}
| + | #REDIRECT [[Mailutils_(utility)]] |
− | <tt>Mu</tt> is a multi-purpose tool shipped with Mailutils. It can be used for various mail- and database-related tasks, as well as an auxiliary tool for compiling and linking programs with Mailutils.
| |
− | | |
− | == Syntax ==
| |
− | | |
− | <tt>Mu</tt> is a command line tool. Its invocation syntax is:
| |
− | | |
− | <code>
| |
− | mu [''options''] ''command'' [''args'']
| |
− | </code>
| |
− | | |
− | where ''options'' are options that affect the behavior of <tt>mu</tt> as a whole, ''command'' instructs it what it is to do and ''args'' are any arguments the ''command'' needs in order to be executed.
| |
− | | |
− | The commands are:
| |
− | | |
− | ;2047
| |
− | :Decodes or encodes email message headers.
| |
− | ;acl
| |
− | :Tests Mailutils access control lists;
| |
− | ;cflags
| |
− | :Shows compiler options needed to compile with Mailutils.
| |
− | ;dbm
| |
− | :Invokes a DBM management tool.
| |
− | ;filter
| |
− | :Applies a chain of filters to the input.
| |
− | ;help
| |
− | :Displays a terse help summary.
| |
− | ;imap
| |
− | :Invokes an IMAP4 client shell (in development).
| |
− | ;info
| |
− | :Displays information about Mailutils compile-time configuration.
| |
− | ;ldflags
| |
− | :Constructs a [http://www.manpagez.com/man/1/ld ld](1) command line for linking a program with Mailutils.
| |
− | ;logger
| |
− | :Logs information using Mailutils log facility.
| |
− | ;pop
| |
− | :Invokes a POP3 client shell.
| |
− | ;query
| |
− | :Queries configuration values.
| |
− | ;wicket
| |
− | Scans [[wicket]]s for matching URLs
| |
− | | |
− | == help ==
| |
− | The <tt>mu help</tt> command lists all available options and command names along with short descriptions of what each of them does. It is similar to the <tt>mu --help</tt> option.
| |
− | | |
− | A command name can be supplied as an argument to <tt>help</tt>, in which case it will display a help page for that particular command, e.g.:
| |
− | | |
− | mu help ldflags
| |
− | | |
− | will output help for the [[#ldflags|ldflags]] command. It is synonymous to the <tt>--help</tt> option used with that particular command, e.g.: <tt>mu ldflags --help</tt>.
| |
− | | |
− | == info ==
| |
− | The <tt>mu info</tt> command displays information about Mailutils compile-time configuration. In normal form its output lists a single configuration flag per line, e.g.:
| |
− | | |
− | $ mu info
| |
− | VERSION=2.99.93
| |
− | SYSCONFDIR=/etc
| |
− | MAILSPOOLDIR=/var/mail/
| |
− | SCHEME=mbox
| |
− | LOG_FACILITY=mail
| |
− | IPV6
| |
− | USE_LIBPAM
| |
− | HAVE_LIBLTDL
| |
− | WITH_GDBM
| |
− | WITH_GNUTLS
| |
− | WITH_GSASL
| |
− | ...
| |
− | | |
− | A configuration flag can consist either of a single word, indicating that a particular capability has been enabled at compile time, or of a keyword/value pair delimited by an equal sign, which indicates a particular value used by default for that feature. For example, <tt>IPV6</tt> means that Mailutils was compiled with support for IPv6, whereas <tt>SYSCONFDIR=/etc</tt> means that the default place for configuration files is in <tt>/etc</tt> directory.
| |
− | | |
− | Such short output is convenient for using <tt>mu info</tt> in scripts to decide whether it is possible to use a given feature. To assist human users, the <tt>--verbose</tt> (<tt>-v</tt>) option is provided. It prints a short description next to each flag:
| |
− | | |
− | $ mu info --verbose
| |
− | VERSION=2.99.93 - Version of this package
| |
− | SYSCONFDIR=/etc - System configuration directory
| |
− | MAILSPOOLDIR=/var/mail/ - Default mail spool directory
| |
− | SCHEME=mbox - Default mailbox type
| |
− | LOG_FACILITY=mail - Default syslog facility
| |
− | IPV6 - IPv6 support
| |
− | USE_LIBPAM - PAM support
| |
− | HAVE_LIBLTDL - a portable `dlopen' wrapper library
| |
− | WITH_GDBM - GNU DBM
| |
− | WITH_GNUTLS - TLS support using GNU TLS
| |
− | WITH_GSASL - SASL support using GNU SASL
| |
− | ...
| |
− |
| |
− | == cflags ==
| |
− | The <tt>mu cflags</tt> command shows compiler options needed to compile a C source with Mailutils. It is intended for use in configuration scripts and Makefiles, e.g.:
| |
− | | |
− | CFLAGS=-g -O2 `mu cflags`
| |
− | | |
− | == ldflags ==
| |
− | The <tt>mu ldflag</tt> command is a counterpart of <tt>cflags</tt> used for linking. It constructs a [http://www.manpagez.com/man/1/ld ld](1) command line for linking a program with Mailutils.
| |
− | | |
− | When used without arguments, it outputs <tt>ld</tt> arguments which would link only with the core Mailutils library [[libmailutils]]:
| |
− | | |
− | $ mu ldflags
| |
− | -L/usr/local/lib -lmailutils
| |
− | | |
− | This command accepts a number of keywords which allow to select a particular subset of Mailutils libraries to link with. In particular, the argument <tt>all</tt> instructs it to link in all available libraries:
| |
− | | |
− | $ mu ldflags all
| |
− | -L/usr/local/lib -lmu_mbox -lmu_mh -lmu_maildir -lmu_imap -lmu_pop \
| |
− | -lmu_mailer -lmu_compat -lmailutils -lmu_auth -lgsasl -lgnutls -lgcrypt \
| |
− | -lldap -lgnuradius -lpam -ldl
| |
− | | |
− | Other available keywords are:
| |
− | | |
− | ;mbox
| |
− | :Link in the UNIX mbox format support.
| |
− | ;mh
| |
− | :Link in the MH format support.
| |
− | ;maildir
| |
− | :Link in the Maildir format support.
| |
− | ;imap
| |
− | :Link in the IMAP protocol support.
| |
− | ;pop
| |
− | :Link in the POP protocol support.
| |
− | ;nntp
| |
− | :Link in the NNTP protocol support.
| |
− | ;mailer
| |
− | :Enable support for [[mailer]]s.
| |
− | ;sieve
| |
− | :Link in the support for [[Sieve]] mail filtering language.
| |
− | ;dbm
| |
− | :Link in the support for DBM databases ([[libmu_dbm]] library).
| |
− | ;compat
| |
− | :Provide a compatibility layer for Mailutils 2.x.
| |
− | ;auth
| |
− | :Link in the Mailutils authentication library.
| |
− | ;guile
| |
− | :Provide [[Guile]] language bindings.
| |
− | ;python
| |
− | :Provide [[Python]] language bindings.
| |
− | ;cfg
| |
− | :Link in the [[libmu_cfg|Mailutils configuration library]].
| |
− | ;argp
| |
− | :Link in the library for command line parsing.
| |
− | | |
− | == query ==
| |
− | The <tt>mu query</tt> command queries values from Mailutils configuration files. It takes one or more [[configuration path]]s as its arguments. On output, it displays the values it found, each value on a separate line. If the requested value is a block statement it is displayed in full. For example, if main configuration file contained:
| |
− | | |
− | <source lang="C">
| |
− | logging {
| |
− | syslog yes;
| |
− | facility mail;
| |
− | };
| |
− | </source>
| |
− | | |
− | Then:
| |
− | | |
− | $ mu query .logging.syslog
| |
− | syslog yes;
| |
− | $ mu query .logging.syslog .logging.facility
| |
− | syslog yes;
| |
− | facility mail;
| |
− | $ mu query .logging
| |
− | logging {
| |
− | syslog yes;
| |
− | facility mail;
| |
− | };
| |
− | | |
− | Several command line options allow to modify output format. The <tt>--value</tt> option instructs the command to output only values:
| |
− |
| |
− | $ mu query --value .logging.syslog
| |
− | yes
| |
− | | |
− | The <tt>--path</tt> option instructs it to print full path names for each value:
| |
− | | |
− | $ mu query --path .logging.syslog
| |
− | logging.syslog: yes
| |
− | | |
− | The <tt>--program</tt> option instructs <tt>mu</tt> to behave as if it was called under another program name. For example, the following command:
| |
− | | |
− | $ mu query --program=pop3d .server.transcript
| |
− | | |
− | will return the value of the <tt>server.transcript</tt> statement for <tt>pop3d</tt> utility.
| |
− | | |
− | By default, <tt>mu query</tt> operates on the main configuration file. Another configuration file can be supplied using the <tt>--file</tt> (<tt>-f</tt>) option:
| |
− | | |
− | $ mu query --file /usr/local/etc/file.conf .pidfile
| |
− | | |
− | == 2047 ==
| |
− | The <tt>mu 2047</tt> command is a filter for decoding or encoding email message headers formatted in accordance with [http://www.faqs.org/rfcs/rfc2047.html RFC 2047]. By default, it operates in encode mode and assumes the ''iso-8859-1'' encoding. If arguments are supplied in the command line, they are treated as the text to operate upon. Otherwise the command acts as a UNIX filter, reading lines from the standard input and printing results on the standard output:
| |
− | | |
− | For examle:
| |
− | | |
− | $ mu 2047 'Keld Jørn Simonsen <keld@dkuug.dk>'
| |
− | =?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@dkuug.dk>
| |
− | | |
− | The decode mode can be requested via the <tt>--decode</tt> (<tt>-d</tt>) option:
| |
− | | |
− | $ mu 2047 --decode '=?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@dkuug.dk>'
| |
− | Keld Jørn Simonsen <keld@dkuug.dk>
| |
− | | |
− | The <tt>--charset</tt> (<tt>-c</tt>) option changes the default character set, e.g.:
| |
− | | |
− | $ mu 2047 --charset=utf-8 'Keld Jørn Simonsen <keld@dkuug.dk>'
| |
− | =?utf-8?Q?Keld J=C3=B8rn Simonsen <keld@dkuug.dk>?=
| |
− | | |
− | This option is meaningful both in decode and in encode modes. In decode mode it instructs the utility to convert the output to the given character set. In encode mode it indicates the encoding of the input data, which will be reflected in the resulting string:
| |
− | | |
− | $ quoted-printable
| |
− | | |
− | The <tt>--encoding</tt> (<tt>-E</tt>) option can be used in encode mode to change the output encoding. Valid arguments for this option are: <tt>quoted-printable</tt> (the default) or <tt>base64</tt>.
| |
− | | |
− | The <tt>--newline</tt> (<tt>-n</tt>) option prints an additional newline character after each line of output.
| |
− | | |
− | == filter ==
| |
− | Applies a chain of filters to the input.
| |
− | | |
− | == acl ==
| |
− | Tests Mailutils access control lists;
| |
− | | |
− | == wicket ==
| |
− | Scans [[wicket]]s for matching URLs
| |
− | | |
− | == dbm ==
| |
− | Invokes a DBM management tool.
| |
− | | |
− | == logger ==
| |
− | Logs information using Mailutils log facility.
| |
− | | |
− | == pop ==
| |
− | Invokes a POP3 client shell.
| |
− | | |
− | == imap ==
| |
− | Invokes an IMAP4 client shell (in development).
| |