messages is reflected in nested JSON output. By default JSON
output includes all messages in a matching thread; that is,
by default,
-
- ``--format=json`` sets ``--entire-thread`` The caller can
- disable this behaviour by setting ``--entire-thread=false``
+ ``--format=json`` sets ``--entire-thread``. The caller can
+ disable this behaviour by setting ``--entire-thread=false``.
+ The JSON output is always encoded as UTF-8 and any message
+ content included in the output will be charset-converted to
+ UTF-8.
**sexp**
- The output is formatted as an S-Expression (sexp). This
- format is more robust than the text format for automated
- processing. The nested structure of multipart MIME messages
- is reflected in nested S-Expression output. By default,
- S-Expression output includes all messages in a matching
- thread; that is, by default,
-
- ``--format=sexp`` sets ``--entire-thread`` The caller can
- disable this behaviour by setting ``--entire-thread=false``
+ 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 colon). True is formatted as ``t`` and both false and
+ null are formatted as ``nil``. As for JSON, the s-expression
+ output is always encoded as UTF-8.
**mbox**
All matching messages are output in the traditional, Unix
'>' character added. This reversible escaping is termed
"mboxrd" format and described in detail here:
- http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/mail-mbox-formats.html
+ http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/mail-mbox-formats.html
- **raw** (default for a single part, see --part)
- For a message or an attached message part, the original, raw
- content of the email message is output. Consumers of this
- format should expect to implement MIME decoding and similar
- functions.
+ **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.
- For a single part (--part) the raw part content is output
- after performing any necessary MIME decoding. Note that
- messages with a simple body still have two parts: part 0 is
- the whole message and part 1 is the body.
+ If the specified part is a leaf part, this outputs the
+ body of the part after performing content transfer
+ decoding (but no charset conversion). This is suitable for
+ saving attachments, for example.
- For a multipart part, the part headers and body (including
- all child parts) is output.
-
- The raw format must only be used with search terms matching
- single message.
+ For a multipart or message part, the output includes the
+ part headers as well as the body (including all child
+ parts). No decoding is performed because multipart and
+ message parts cannot have non-trivial content transfer
+ encoding. Consumers of this may need to implement MIME
+ decoding and similar functions.
``--format-version=N``
Use the specified structured output format version. This is
and are identified in the 'json', 'sexp' or 'text' output
formats.
+ Note that even a message with no MIME structure or a single
+ body part still has two MIME parts: part 0 is the whole
+ message (headers and body) and part 1 is just the body.
+
``--verify``
Compute and report the validity of any MIME cryptographic
signatures found in the selected content (ie. "multipart/signed"
supported with --format=json and --format=sexp), and the
multipart/signed part will be replaced by the signed data.
- ``--decrypt``
- Decrypt any MIME encrypted parts found in the selected content
- (ie. "multipart/encrypted" parts). Status of the decryption will
- be reported (currently only supported with --format=json and
- --format=sexp) and on successful decryption the
- multipart/encrypted part will be replaced by the decrypted
- content.
+ ``--decrypt=(false|auto|true)``
+ If ``true``, decrypt any MIME encrypted parts found in the
+ selected content (i.e. "multipart/encrypted" parts). Status of
+ the decryption will be reported (currently only supported
+ with --format=json and --format=sexp) and on successful
+ decryption the multipart/encrypted part will be replaced by
+ the decrypted content.
+
+ If ``auto``, and a session key is already known for the
+ message, then it will be decrypted, but notmuch will not try
+ to access the user's keys.
+
+ Use ``false`` to avoid even automatic decryption.
+
+ Non-automatic decryption expects a functioning
+ **gpg-agent(1)** to provide any needed credentials. Without
+ one, the decryption will fail.
- Decryption expects a functioning **gpg-agent(1)** to provide any
- needed credentials. Without one, the decryption will fail.
+ Note: ``true`` implies --verify.
- Implies --verify.
+ Default: ``auto``
``--exclude=(true|false)``
Specify whether to omit threads only matching
SEE ALSO
========
-**notmuch(1)**, **notmuch-config(1)**, **notmuch-count(1)**,
-**notmuch-dump(1)**, **notmuch-hooks(5)**, **notmuch-insert(1)**,
-**notmuch-new(1)**, **notmuch-reply(1)**, **notmuch-restore(1)**,
-**notmuch-search(1)**, **notmuch-search-terms(7)**, **notmuch-tag(1)**
+**notmuch(1)**,
+**notmuch-config(1)**,
+**notmuch-count(1)**,
+**notmuch-dump(1)**,
+**notmuch-hooks(5)**,
+**notmuch-insert(1)**,
+**notmuch-new(1)**,
+**notmuch-reply(1)**,
+**notmuch-restore(1)**,
+**notmuch-search(1)**,
+**notmuch-search-terms(7)**,
+**notmuch-tag(1)**