Files
mu4e/man/mu-init.1.org
Dirk-Jan C. Binnema 8c706a77db mu-init: automatic export labels with --reinit
When re-initializing the store, automatically write the labels to a file in mu's
cache, so user can later import them.
2025-08-16 16:20:33 +03:00

129 lines
4.7 KiB
Org Mode
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#+TITLE: MU INIT
#+MAN_CLASS_OPTIONS: :section-id "@SECTION_ID@" :date "@MAN_DATE@"
#+include: macros.inc
* NAME
mu-init - initialize the *mu* message database
* SYNOPSIS
*mu* [_COMMON-OPTIONS_] *init* [_OPTIONS_]
* DESCRIPTION
*mu init* is the subcommand for setting up the *mu* message database. After *mu init*
has completed, you can run *mu index*.
* INIT OPTIONS
** -m, --maildir _maildir_
Use _maildir_ as the root-maildir.
By default, *mu* uses the *MAILDIR* environment to find the root-maildir. If it is
not set, it uses _~/Maildir_ if it is an existing directory. If neither of those
can be used, the *--maildir* option is required; it must be an absolute path (but
~~/~ expansion is performed).
** --personal-address _email-address-or-regex_
** --my-address _email-address-or-regex_ (alias)
Specifies that some e-mail address is a /personal/ address. The option can be used
multiple times, to specify all your addresses.
Any message in which at least one of the contact fields matches a personal
address, is considered a `personal' message; this can then be used for filtering
in {{{man-link(mu-find,1)}}}, {{{man-link(mu-cfind,1)}}} and *mu4e*, e.g. to
filter-out mailing list messages.
_email-address-or-regex_ can be either a plain e-mail address (such as
*foo@example.com*), or a basic PCRE regular-expression (see {{{man-link(pcre,3)}}}
for details), wrapped in */* (such as =/foo-.*@example\\.com/=). Depending on your
shell, the argument may need to be quoted.
A note of warning for *mu4e* users: any regular-expressions used with
=--with-address= are also used by *mu4e*. Unfortunately, PCRE regular expressions
are *not* generally compatible with Emacs regular expressions. For instance,
*(foo|bar)* in PCRE syntax has *\(foo\|bar\)* as its Emacs equivalent.
The good news is that *mu4e* can automatically translate the regular-expressions,
if you allow it to, by installing the *pcre2el* Elisp package. See the *mu4e*
documentation for further details.
** --ignored-address _email-address-or-regex_
Specifies that some e-mail address is to be ignored from the contacts-cache (the
option can be used multiple times). Such addresses then cannot be found with
{{{man-link(mu-cfind,1)}}} or in the Mu4e contacts cache.
_my-email-address_ can be either a plain e-mail address or a regexp, just like
for the *--personal-address* option.
** --max-message-size _size_
Specifies the maximum size for an e-mail message. Usually, the default of
100000000 bytes should be fine.
** --batch-size _size_
The number of changes after which they are committed to the database; decreasing
the value reduces the memory requirements, at the cost of make indexing
substantially slower. Usually, the default of 250000 should be fine.
Batch-size 0 is interpreted as `use the default'.
** --support-ngrams
Whether to enable support for using ngrams in indexing and query parsing; this
can be useful for languages without explicit word breaks, such as
Chinese/Japanese/Korean. See *NGRAM SUPPORT* below for details.
** --reinit
Reinitialize the database from an earlier version; that is, create a new empty
database with the existing settings. This cannot be combined with the other *init*
options.
When you have _labels_ defined for messages in your database, *mu* automatically exports those to file for importing later. See *RESTORING LABELS* below.
#+include: "muhome.inc" :minlevel 2
* NGRAM SUPPORT
*mu*'s underlying Xapian database supports `ngrams', which improve searching for
languages/scripts that do not have explicit word breaks, such as Chinese,
Japanese and Korean. It is fairly intrusive, and influences both indexing and
query-parsing; it is not enabled by default, and is recommended only if you need
to search for messages written in such languages.
When enabled, *mu* automatically uses ngrams automatically. Xapian environment
variables such as *XAPIAN_CJK_NGRAM* are ignored.
#+include: "exit-code.inc" :minlevel 1
* RESTORING LABELS
When you have any _labels_ defined for your database, *mu* automatically exports
those to a file in the *mu* cache directory; you see this in the ~--init~ output.
#+begin_example
$ mu init --reinit
exported labels to: /home/user/.cache/mu/mu-export-2025-08-16-13:43:27.txt
#+end_example
You can restore those labels _after_ re-indexing, e.g.,
#+begin_example
$ mu label import /home/user/.cache/mu/mu-export-2025-08-16-13:43:27.txt
#+end_example
Please see {{{man-link(mu-label,1)}}} for further details.
* EXAMPLE
#+begin_example
$ mu init --maildir=~/Maildir --my-address=alice@example.com --my-address=bob@example.com --ignored-address='/.*reply.*/'
#+end_example
#+include: "prefooter.inc" :minlevel 1
* SEE ALSO
{{{man-link(mu-index,1)}}},
{{{man-link(mu-find,1)}}},
{{{man-link(mu-label,1)}}},
{{{man-link(mu-cfind,1)}}},
{{{man-link(pcre,3)}}}