Sphinx-doc already formats the terms appropriately for a given
backend (bold in html and man). `makeinfo` complains noisily about
formatting inside a @item if we add our own explicit formatting.
This change may change the formatting in the info output. On the other
hand, the existing use of quotes for bold is not that great anyway.
In some places blank lines were removed to preserve the logical
structure of a definition list.
neither ``--output=sender`` nor ``--output=recipients`` is
given, ``--output=sender`` is implied.
neither ``--output=sender`` nor ``--output=recipients`` is
given, ``--output=sender`` is implied.
Output all addresses from the *From* header.
Note: Searching for **sender** should be much faster than
Output all addresses from the *From* header.
Note: Searching for **sender** should be much faster than
cached directly in the database whereas other addresses need
to be fetched from message files.
cached directly in the database whereas other addresses need
to be fetched from message files.
Output all addresses from the *To*, *Cc* and *Bcc* headers.
Output all addresses from the *To*, *Cc* and *Bcc* headers.
Print the count of how many times was the address encountered
during search.
Note: With this option, addresses are printed only after the
whole search is finished. This may take long time.
Print the count of how many times was the address encountered
during search.
Note: With this option, addresses are printed only after the
whole search is finished. This may take long time.
Output only the email addresses instead of the full mailboxes
with names and email addresses. This option has no effect on
the JSON or S-Expression output formats.
Output only the email addresses instead of the full mailboxes
with names and email addresses. This option has no effect on
the JSON or S-Expression output formats.
Control the deduplication of results.
Control the deduplication of results.
Output all occurrences of addresses in the matching
messages. This is not applicable with ``--output=count``.
Output all occurrences of addresses in the matching
messages. This is not applicable with ``--output=count``.
Deduplicate addresses based on the full, case sensitive name
and email address, or mailbox. This is effectively the same as
piping the ``--deduplicate=no`` output to **sort | uniq**, except
for the order of results. This is the default.
Deduplicate addresses based on the full, case sensitive name
and email address, or mailbox. This is effectively the same as
piping the ``--deduplicate=no`` output to **sort | uniq**, except
for the order of results. This is the default.
Deduplicate addresses based on the case insensitive address
part of the mailbox. Of all the variants (with different name
or case), print the one occurring most frequently among the
Deduplicate addresses based on the case insensitive address
part of the mailbox. Of all the variants (with different name
or case), print the one occurring most frequently among the
paths are presumed relative to `$HOME` for items in section
**database**.
paths are presumed relative to `$HOME` for items in section
**database**.
Notmuch will store its database here, (in
sub-directory named ``.notmuch`` if **database.mail\_root**
is unset).
Default: see :ref:`database`
Notmuch will store its database here, (in
sub-directory named ``.notmuch`` if **database.mail\_root**
is unset).
Default: see :ref:`database`
The top-level directory where your mail currently exists and to
where mail will be delivered in the future. Files should be
individual email messages.
The top-level directory where your mail currently exists and to
where mail will be delivered in the future. Files should be
individual email messages.
Default: For compatibility with older configurations, the value of
database.path is used if **database.mail\_root** is unset.
Default: For compatibility with older configurations, the value of
database.path is used if **database.mail\_root** is unset.
Directory to store tag dumps when upgrading database.
History: this configuration value was introduced in notmuch 0.32.
Directory to store tag dumps when upgrading database.
History: this configuration value was introduced in notmuch 0.32.
Default: A sibling directory of the Xapian database called
`backups`.
Default: A sibling directory of the Xapian database called
`backups`.
Directory containing hooks run by notmuch commands. See
:any:`notmuch-hooks(5)`.
Directory containing hooks run by notmuch commands. See
:any:`notmuch-hooks(5)`.
Default: See HOOKS, below.
Default: See HOOKS, below.
How often to commit transactions to disk. `0` means wait until
command completes, otherwise an integer `n` specifies to commit to
How often to commit transactions to disk. `0` means wait until
command completes, otherwise an integer `n` specifies to commit to
History: this configuration value was introduced in notmuch 0.33.
History: this configuration value was introduced in notmuch 0.33.
Your full name.
Default: ``$NAME`` variable if set, otherwise read from
``/etc/passwd``.
Your full name.
Default: ``$NAME`` variable if set, otherwise read from
``/etc/passwd``.
Your primary email address.
Default: ``$EMAIL`` variable if set, otherwise constructed from
the username and hostname of the current machine.
Your primary email address.
Default: ``$EMAIL`` variable if set, otherwise constructed from
the username and hostname of the current machine.
A list of other email addresses at which you receive email.
Default: not set.
A list of other email addresses at which you receive email.
Default: not set.
A list of tags that will be added to all messages incorporated by
**notmuch new**.
Default: ``unread;inbox``.
A list of tags that will be added to all messages incorporated by
**notmuch new**.
Default: ``unread;inbox``.
A list to specify files and directories that will not be searched
for messages by :any:`notmuch-new(1)`. Each entry in the list is either:
A list to specify files and directories that will not be searched
for messages by :any:`notmuch-new(1)`. Each entry in the list is either:
-**search.exclude\_tags**
A list of tags that will be excluded from search results by
default. Using an excluded tag in a query will override that
exclusion.
A list of tags that will be excluded from search results by
default. Using an excluded tag in a query will override that
exclusion.
Default: empty list. Note that :any:`notmuch-setup(1)` puts
``deleted;spam`` here when creating new configuration file.
Default: empty list. Note that :any:`notmuch-setup(1)` puts
``deleted;spam`` here when creating new configuration file.
-**maildir.synchronize\_flags**
+maildir.synchronize\_flags
If true, then the following maildir flags (in message filenames)
will be synchronized with the corresponding notmuch tags:
If true, then the following maildir flags (in message filenames)
will be synchronized with the corresponding notmuch tags:
Policy for decrypting encrypted messages during indexing. Must be
one of: ``false``, ``auto``, ``nostash``, or ``true``.
Policy for decrypting encrypted messages during indexing. Must be
one of: ``false``, ``auto``, ``nostash``, or ``true``.
-**index.header.<prefix>**
Define the query prefix <prefix>, based on a mail header. For
example ``index.header.List=List-Id`` will add a probabilistic
prefix ``List:`` that searches the ``List-Id`` field. User
Define the query prefix <prefix>, based on a mail header. For
example ``index.header.List=List-Id`` will add a probabilistic
prefix ``List:`` that searches the ``List-Id`` field. User
supported. See :any:`notmuch-search-terms(7)` for a list of existing
prefixes, and an explanation of probabilistic prefixes.
supported. See :any:`notmuch-search-terms(7)` for a list of existing
prefixes, and an explanation of probabilistic prefixes.
Compile time feature <name>. Current possibilities include
"retry_lock" (configure option, included by default).
(since notmuch 0.30, "compact" and "field_processor" are
always included.)
Compile time feature <name>. Current possibilities include
"retry_lock" (configure option, included by default).
(since notmuch 0.30, "compact" and "field_processor" are
always included.)
Expansion for named query called <name>. See
:any:`notmuch-search-terms(7)` for more information about named
queries.
Expansion for named query called <name>. See
:any:`notmuch-search-terms(7)` for more information about named
queries.
Expansion for named query called <name>, using s-expression syntax. See
:any:`notmuch-sexp-queries(7)` for more information about s-expression
queries.
Expansion for named query called <name>, using s-expression syntax. See
:any:`notmuch-sexp-queries(7)` for more information about s-expression
queries.
.. option:: --output=(messages|threads|files)
.. option:: --output=(messages|threads|files)
Output the number of matching messages. This is the default.
Output the number of matching messages. This is the default.
Output the number of matching threads.
Output the number of matching threads.
Output the number of files associated with matching
messages. This may be bigger than the number of matching
messages due to duplicates (i.e. multiple files having the
Output the number of files associated with matching
messages. This may be bigger than the number of matching
messages due to duplicates (i.e. multiple files having the
Notmuch restore supports two plain text dump formats, both with
one message-id per line, followed by a list of tags.
Notmuch restore supports two plain text dump formats, both with
one message-id per line, followed by a list of tags.
The default **batch-tag** dump format is intended to more
robust against malformed message-ids and tags containing
whitespace or non-\ :manpage:`ascii(7)` characters. Each line
The default **batch-tag** dump format is intended to more
robust against malformed message-ids and tags containing
whitespace or non-\ :manpage:`ascii(7)` characters. Each line
:any:`notmuch-tag(1)`; note that the single message-id query is
mandatory for :any:`notmuch-restore(1)`.
:any:`notmuch-tag(1)`; note that the single message-id query is
mandatory for :any:`notmuch-restore(1)`.
The **sup** dump file format is specifically chosen to be
compatible with the format of files produced by
:manpage:`sup-dump(1)`. So if you've previously been using sup
The **sup** dump file format is specifically chosen to be
compatible with the format of files produced by
:manpage:`sup-dump(1)`. So if you've previously been using sup
Control what kind of metadata is included in the output.
Control what kind of metadata is included in the output.
Output configuration data stored in the database. Each line
starts with "#@ ", followed by a space separated key-value
pair. Both key and value are hex encoded if needed.
Output configuration data stored in the database. Each line
starts with "#@ ", followed by a space separated key-value
pair. Both key and value are hex encoded if needed.
Output per-message (key,value) metadata. Each line starts
with "#= ", followed by a message id, and a space separated
list of key=value pairs. Ids, keys and values are hex encoded
if needed. See :any:`notmuch-properties(7)` for more details.
Output per-message (key,value) metadata. Each line starts
with "#= ", followed by a message id, and a space separated
list of key=value pairs. Ids, keys and values are hex encoded
if needed. See :any:`notmuch-properties(7)` for more details.
Output per-message boolean metadata, namely tags. See *format* above
for description of the output.
Output per-message boolean metadata, namely tags. See *format* above
for description of the output.
.. option:: --format=(default|json|sexp|headers-only)
.. option:: --format=(default|json|sexp|headers-only)
Includes subject and quoted message body as an RFC 2822
message.
Includes subject and quoted message body as an RFC 2822
message.
Produces JSON output containing headers for a reply message
and the contents of the original message. This output can be
used by a client to create a reply message intelligently.
Produces JSON output containing headers for a reply message
and the contents of the original message. This output can be
used by a client to create a reply message intelligently.
Produces S-Expression output containing headers for a reply
message and the contents of the original message. This output
can be used by a client to create a reply message
intelligently.
Produces S-Expression output containing headers for a reply
message and the contents of the original message. This output
can be used by a client to create a reply message
intelligently.
Only produces In-Reply-To, References, To, Cc, and Bcc
headers.
Only produces In-Reply-To, References, To, Cc, and Bcc
headers.
.. option:: --reply-to=(all|sender)
.. option:: --reply-to=(all|sender)
Replies to all addresses.
Replies to all addresses.
Replies only to the sender. If replying to user's own message
(Reply-to: or From: header is one of the user's configured
email addresses), try To:, Cc:, and Bcc: headers in this
Replies only to the sender. If replying to user's own message
(Reply-to: or From: header is one of the user's configured
email addresses), try To:, Cc:, and Bcc: headers in this
line specifying a message-id and a set of tags. For details of the
actual formats, see :any:`notmuch-dump(1)`.
line specifying a message-id and a set of tags. For details of the
actual formats, see :any:`notmuch-dump(1)`.
The **sup** dump file format is specifically chosen to be
compatible with the format of files produced by sup-dump. So
if you've previously been using sup for mail, then the
**notmuch restore** command provides you a way to import all
of your tags (or labels as sup calls them).
The **sup** dump file format is specifically chosen to be
compatible with the format of files produced by sup-dump. So
if you've previously been using sup for mail, then the
**notmuch restore** command provides you a way to import all
of your tags (or labels as sup calls them).
The **batch-tag** dump format is intended to more robust
against malformed message-ids and tags containing whitespace
or non-\ **ascii(7)** characters. See :any:`notmuch-dump(1)` for
The **batch-tag** dump format is intended to more robust
against malformed message-ids and tags containing whitespace
or non-\ **ascii(7)** characters. See :any:`notmuch-dump(1)` for
changes if the **maildir.synchronize\_flags** configuration
option is enabled. See :any:`notmuch-config(1)` for details.
changes if the **maildir.synchronize\_flags** configuration
option is enabled. See :any:`notmuch-config(1)` for details.
This option (the default) tries to guess the format from the
input. For correctly formed input in either supported format,
this heuristic, based the fact that batch-tag format contains
This option (the default) tries to guess the format from the
input. For correctly formed input in either supported format,
this heuristic, based the fact that batch-tag format contains
Control what kind of metadata is restored.
Control what kind of metadata is restored.
Restore configuration data to the database. Each configuration
line starts with "#@ ", followed by a space separated
key-value pair. Both key and value are hex encoded if needed.
Restore configuration data to the database. Each configuration
line starts with "#@ ", followed by a space separated
key-value pair. Both key and value are hex encoded if needed.
Restore per-message (key,value) metadata. Each line starts
with "#= ", followed by a message id, and a space separated
list of key=value pairs. Ids, keys and values are hex encoded
if needed. See :any:`notmuch-properties(7)` for more details.
Restore per-message (key,value) metadata. Each line starts
with "#= ", followed by a message id, and a space separated
list of key=value pairs. Ids, keys and values are hex encoded
if needed. See :any:`notmuch-properties(7)` for more details.
Restore per-message metadata, namely tags. See *format* above
for more details.
Restore per-message metadata, namely tags. See *format* above
for more details.
.. option:: --output=(summary|threads|messages|files|tags)
.. option:: --output=(summary|threads|messages|files|tags)
Output a summary of each thread with any message matching the
search terms. The summary includes the thread ID, date, the
number of messages in the thread (both the number matched and
Output a summary of each thread with any message matching the
search terms. The summary includes the thread ID, date, the
number of messages in the thread (both the number matched and
for some messages, the total number of files is printed in
parentheses (see below for an example).
for some messages, the total number of files is printed in
parentheses (see below for an example).
Output the thread IDs of all threads with any message matching
the search terms, either one per line (``--format=text``),
separated by null characters (``--format=text0``), as a JSON array
(``--format=json``), or an S-Expression list (``--format=sexp``).
Output the thread IDs of all threads with any message matching
the search terms, either one per line (``--format=text``),
separated by null characters (``--format=text0``), as a JSON array
(``--format=json``), or an S-Expression list (``--format=sexp``).
Output the message IDs of all messages matching the search
terms, either one per line (``--format=text``), separated by null
characters (``--format=text0``), as a JSON array (``--format=json``),
or as an S-Expression list (``--format=sexp``).
Output the message IDs of all messages matching the search
terms, either one per line (``--format=text``), separated by null
characters (``--format=text0``), as a JSON array (``--format=json``),
or as an S-Expression list (``--format=sexp``).
Output the filenames of all messages matching the search
terms, either one per line (``--format=text``), separated by null
characters (``--format=text0``), as a JSON array (``--format=json``),
Output the filenames of all messages matching the search
terms, either one per line (``--format=text``), separated by null
characters (``--format=text0``), as a JSON array (``--format=json``),
in other directories that are included in the output, although
these files alone would not match the search.
in other directories that are included in the output, although
these files alone would not match the search.
Output all tags that appear on any message matching the search
terms, either one per line (``--format=text``), separated by null
characters (``--format=text0``), as a JSON array (``--format=json``),
Output all tags that appear on any message matching the search
terms, either one per line (``--format=text``), separated by null
characters (``--format=text0``), as a JSON array (``--format=json``),
terms. This option specifies whether to omit excluded messages in
the search process.
terms. This option specifies whether to omit excluded messages in
the search process.
Prevent excluded messages from matching the search terms.
Prevent excluded messages from matching the search terms.
Additionally prevent excluded messages from appearing in
displayed results, in effect behaving as though the excluded
messages do not exist.
Additionally prevent excluded messages from appearing in
displayed results, in effect behaving as though the excluded
messages do not exist.
Allow excluded messages to match search terms and appear in
displayed results. Excluded messages are still marked in the
relevant outputs.
Allow excluded messages to match search terms and appear in
displayed results. Excluded messages are still marked in the
relevant outputs.
Only has an effect when ``--output=summary``. The output is
almost identical to **false**, but the "match count" is the
number of matching non-excluded messages in the thread, rather
Only has an effect when ``--output=summary``. The output is
almost identical to **false**, but the "match count" is the
number of matching non-excluded messages in the thread, rather
.. option:: --format=(text|json|sexp|mbox|raw)
.. option:: --format=(text|json|sexp|mbox|raw)
- **text** (default for messages)
+ text (default for messages)
The default plain-text format has all text-content MIME parts
decoded. Various components in the output, (**message**,
**header**, **body**, **attachment**, and MIME **part**), will
The default plain-text format has all text-content MIME parts
decoded. Various components in the output, (**message**,
**header**, **body**, **attachment**, and MIME **part**), will
'}'), to either open or close the component. For a multipart
MIME message, these parts will be nested.
'}'), to either open or close the component. For a multipart
MIME message, these parts will be nested.
The output is formatted with Javascript Object Notation
(JSON). This format is more robust than the text format for
automated processing. The nested structure of multipart MIME
The output is formatted with Javascript Object Notation
(JSON). This format is more robust than the text format for
automated processing. The nested structure of multipart MIME
as UTF-8 and any message content included in the output will
be charset-converted to UTF-8.
as UTF-8 and any message content included in the output will
be charset-converted to UTF-8.
The output is formatted as the Lisp s-expression (sexp)
equivalent of the JSON format above. Objects are formatted as
property lists whose keys are keywords (symbols preceded by a
The output is formatted as the Lisp s-expression (sexp)
equivalent of the JSON format above. Objects are formatted as
property lists whose keys are keywords (symbols preceded by a
formatted as ``nil``. As for JSON, the s-expression output is
always encoded as UTF-8.
formatted as ``nil``. As for JSON, the s-expression output is
always encoded as UTF-8.
All matching messages are output in the traditional, Unix mbox
format with each message being prefixed by a line beginning
with "From " and a blank line separating each message. Lines
All matching messages are output in the traditional, Unix mbox
format with each message being prefixed by a line beginning
with "From " and a blank line separating each message. Lines
http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/mail-mbox-formats.html
http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/mail-mbox-formats.html
- **raw** (default if ``--part`` is given)
+ raw (default if ``--part`` is given)
Write the raw bytes of the given MIME part of a message to
standard out. For this format, it is an error to specify a
query that matches more than one message.
Write the raw bytes of the given MIME part of a message to
standard out. For this format, it is an error to specify a
query that matches more than one message.
The currently available hooks are described below.
The currently available hooks are described below.
This hook is invoked by the :any:`notmuch-new(1)` command before
scanning or importing new messages into the database. If this hook
exits with a non-zero status, notmuch will abort further
This hook is invoked by the :any:`notmuch-new(1)` command before
scanning or importing new messages into the database. If this hook
exits with a non-zero status, notmuch will abort further
Typically this hook is used for fetching or delivering new mail to
be imported into the database.
Typically this hook is used for fetching or delivering new mail to
be imported into the database.
This hook is invoked by the :any:`notmuch-new(1)` command after
new messages have been imported into the database and initial tags
have been applied. The hook will not be run if there have been any
This hook is invoked by the :any:`notmuch-new(1)` command after
new messages have been imported into the database and initial tags
have been applied. The hook will not be run if there have been any
Typically this hook is used to perform additional query-based
tagging on the imported messages.
Typically this hook is used to perform additional query-based
tagging on the imported messages.
This hook is invoked by the :any:`notmuch-insert(1)` command after
the message has been delivered, added to the database, and initial
tags have been applied. The hook will not be run if there have
This hook is invoked by the :any:`notmuch-insert(1)` command after
the message has been delivered, added to the database, and initial
tags have been applied. The hook will not be run if there have
The following properties are set by notmuch internally in the course
of its normal activity.
The following properties are set by notmuch internally in the course
of its normal activity.
If a message contains encrypted content, and notmuch tries to
decrypt that content during indexing, it will add the property
``index.decryption=success`` when the cleartext was successfully
If a message contains encrypted content, and notmuch tries to
decrypt that content during indexing, it will add the property
``index.decryption=success`` when the cleartext was successfully
:any:`notmuch-config(1)`), then this property will not be set on that
message.
:any:`notmuch-config(1)`), then this property will not be set on that
message.
When :any:`notmuch-show(1)` or :any:`notmuch-reply(1)` encounters
a message with an encrypted part, if notmuch finds a
``session-key`` property associated with the message, it will try
When :any:`notmuch-show(1)` or :any:`notmuch-reply(1)` encounters
a message with an encrypted part, if notmuch finds a
``session-key`` property associated with the message, it will try
example, an AES-128 key might be stashed in a notmuch property as:
``session-key=7:14B16AF65536C28AF209828DFE34C9E0``.
example, an AES-128 key might be stashed in a notmuch property as:
``session-key=7:14B16AF65536C28AF209828DFE34C9E0``.
Some messages arrive in forms that are confusing to view; they can
be mangled by mail transport agents, or the sending mail user
agent may structure them in a way that is confusing. If notmuch
Some messages arrive in forms that are confusing to view; they can
be mangled by mail transport agents, or the sending mail user
agent may structure them in a way that is confusing. If notmuch