- <b>--entire-thread=(true|false)</b>
-
- If true, <b>notmuch</b> <b>show</b> outputs all messages in the thread of any
- message matching the search terms; if false, it outputs only
- the matching messages. For <b>--format=json</b> and <b>--format=sexp</b> this
- defaults to true. For other formats, this defaults to false.
-
- <b>--format=(text|json|sexp|mbox|raw)</b>
-
- <b>text</b> (default for messages)
-
- The default plain-text format has all text-content MIME
- parts decoded. Various components in the output, (<b>message</b>,
- <b>header</b>, <b>body</b>, <b>attachment</b>, and MIME <b>part</b>), will be delimited
- by easily-parsed markers. Each marker consists of a Con-
- trol-L character (ASCII decimal 12), the name of the
- marker, and then either an opening or closing brace, ('{'
- or '}'), to either open or close the component. For a mul-
- tipart MIME message, these parts will be nested.
-
- <b>json</b>
-
- 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 messages is reflected in nested JSON output. By
- default JSON output includes all messages in a matching
- thread; that is, by default,
-
- <b>--format=json</b> sets <b>--entire-thread</b> The caller can disable
- this behaviour by setting <b>--entire-thread=false</b>
-
- <b>sexp</b>
-
- 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,
-
- <b>--format=sexp</b> sets <b>--entire-thread</b> The caller can disable
- this behaviour by setting <b>--entire-thread=false</b>
-
- <b>mbox</b>
-
- 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 in the message content beginning with "From
- " (preceded by zero or more '>' characters) have an addi-
- tional '>' 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
-
- <b>raw</b> (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.
-
- 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.
-
- 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.
-
- <b>--format-version=N</b>
-
- Use the specified structured output format version. This is
- intended for programs that invoke <a href='../notmuch-1/'>notmuch</a>(1) internally. If
- omitted, the latest supported version will be used.
-
- <b>--part=N</b>
-
- Output the single decoded MIME part N of a single message. The
- search terms must match only a single message. Message parts
- are numbered in a depth-first walk of the message MIME struc-
- ture, and are identified in the 'json', 'sexp' or 'text' output
- formats.
-
- <b>--verify</b>
-
- Compute and report the validity of any MIME cryptographic sig-
- natures found in the selected content (ie. "multipart/signed"
- parts). Status of the signature will be reported (currently on-
- ly supported with --format=json and --format=sexp), and the
- multipart/signed part will be replaced by the signed data.
-
- <b>--decrypt</b>
-
- 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 the multipart/encrypted part will be re-
- placed by the decrypted content. Implies --verify.
-
- <b>--exclude=(true|false)</b>
-
- Specify whether to omit threads only matching search.tag_ex-
- clude from the search results (the default) or not. In either
- case the excluded message will be marked with the exclude flag
- (except when output=mbox when there is nowhere to put the
- flag).
-
- If --entire-thread is specified then complete threads are re-
- turned regardless (with the excluded flag being set when appro-
- priate) but threads that only match in an excluded message are
- not returned when <b>--exclude=true.</b>
-
- The default is <b>--exclude=true.</b>
-
- <b>--body=(true|false)</b>
-
- If true (the default) <b>notmuch</b> <b>show</b> includes the bodies of the
- messages in the output; if false, bodies are omitted.
- <b>--body=false</b> is only implemented for the json and sexp formats
- and it is incompatible with <b>--part</b> ><b>&</b>gt; <b>0.</b>
-
- This is useful if the caller only needs the headers as body-
- less output is much faster and substantially smaller.
+ <b>--entire-thread=(true|false)</b>
+ If true, <b>notmuch</b> <b>show</b> outputs all messages in the thread of any
+ message matching the search terms; if false, it outputs only the
+ matching messages. For <b>--format=json</b> and <b>--format=sexp</b> this de‐
+ faults to true. For other formats, this defaults to false.
+
+ <b>--format=(text|json|sexp|mbox|raw)</b>
+
+ <b>text</b> <b>(default</b> <b>for</b> <b>messages)</b>
+ The default plain-text format has all text-content MIME
+ parts decoded. Various components in the output, (<b>mes-</b>
+ <b>sage</b>, <b>header</b>, <b>body</b>, <b>attachment</b>, and MIME <b>part</b>), will be
+ delimited by easily-parsed markers. Each marker consists
+ of a Control-L character (ASCII decimal 12), the name of
+ the marker, and then either an opening or closing brace,
+ ('{' or '}'), to either open or close the component. For
+ a multipart MIME message, these parts will be nested.
+
+ <b>json</b> 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 multi‐
+ part MIME messages is reflected in nested JSON output. By
+ default JSON output includes all messages in a matching
+ thread; that is, by default, <b>--format=json</b> sets <b>--en-</b>
+ <b>tire-thread</b>. The caller can disable this behaviour by
+ setting <b>--entire-thread=false</b>. The JSON output is always
+ encoded as UTF-8 and any message content included in the
+ output will be charset-converted to UTF-8.
+
+ <b>sexp</b> The output is formatted as the Lisp s-expression (sexp)
+ equivalent of the JSON format above. Objects are format‐
+ ted as property lists whose keys are keywords (symbols
+ preceded by a colon). True is formatted as <b>t</b> and both
+ false and null are formatted as <b>nil</b>. As for JSON, the
+ s-expression output is always encoded as UTF-8.
+
+ <b>mbox</b> 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 in the message content beginning with
+ "From " (preceded by zero or more '>' characters) have an
+ additional '>' character added. This reversible escaping
+ is termed "mboxrd" format and described in detail here:
+ <u>http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/mail-mbox-formats.html</u>
+
+ <b>raw</b> <b>(default</b> <b>if</b> <b>--part</b> <b>is</b> <b>given)</b>
+ Write the raw bytes of the given MIME part of a message
+ to standard out. For this format, it is an error to spec‐
+ ify a query that matches more than one message.
+
+ If the specified part is a leaf part, this outputs the
+ body of the part after performing content transfer decod‐
+ ing (but no charset conversion). This is suitable for
+ saving attachments, for example.
+
+ 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.
+
+ <b>--format-version=N</b>
+ Use the specified structured output format version. This is in‐
+ tended for programs that invoke <a href='../notmuch-1/'>notmuch</a>(1) internally. If omit‐
+ ted, the latest supported version will be used.
+
+ <b>--part=N</b>
+ Output the single decoded MIME part N of a single message. The
+ search terms must match only a single message. Message parts are
+ numbered in a depth-first walk of the message MIME structure,
+ and are identified in the 'json', 'sexp' or 'text' output for‐
+ mats.
+
+ 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.
+
+ <b>--sort=(newest-first|oldest-first)</b>
+ This option can be used to present results in either chronologi‐
+ cal order (<b>oldest-first</b>) or reverse chronological order (<b>new-</b>
+ <b>est-first</b>).
+
+ Only threads as a whole are reordered. Ordering of messages
+ within each thread will not be affected by this flag, since that
+ order is always determined by the thread's replies.
+
+ By default, results will be displayed in reverse chronological
+ order, (that is, the newest results will be displayed first).
+
+ <b>--verify</b>
+ Compute and report the validity of any MIME cryptographic signa‐
+ tures found in the selected content (e.g., "multipart/signed"
+ parts). Status of the signature will be reported (currently only
+ supported with <b>--format=json</b> and <b>--format=sexp</b>), and the multi‐
+ part/signed part will be replaced by the signed data.
+
+ <b>--decrypt=(false|auto|true|stash)</b>
+ If <b>true</b>, decrypt any MIME encrypted parts found in the selected
+ content (e.g., "multipart/encrypted" parts). Status of the de‐
+ cryption will be reported (currently only supported with <b>--for-</b>
+ <b>mat=json</b> and <b>--format=sexp</b>) and on successful decryption the
+ multipart/encrypted part will be replaced by the decrypted con‐
+ tent.
+
+ <b>stash</b> behaves like <b>true</b>, but upon successful decryption it will
+ also stash the message's session key in the database, and index
+ the cleartext of the message, enabling automatic decryption in
+ the future.
+
+ If <b>auto</b>, 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 <b>false</b> to avoid even automatic decryption.
+
+ Non-automatic decryption (<b>stash</b> or <b>true</b>, in the absence of a
+ stashed session key) expects a functioning <b>gpg-agent</b>(1) to pro‐
+ vide any needed credentials. Without one, the decryption will
+ fail.
+
+ Note: setting either <b>true</b> or <b>stash</b> here implies <b>--verify</b>.
+
+ Here is a table that summarizes each of these policies:
+
+ ┌──────────────┬───────┬──────┬──────┬───────┐
+ │ │ false │ auto │ true │ stash │
+ ├──────────────┼───────┼──────┼──────┼───────┤
+ │Show cleart‐ │ │ X │ X │ X │
+ │ext if ses‐ │ │ │ │ │
+ │sion key is │ │ │ │ │
+ │already known │ │ │ │ │
+ ├──────────────┼───────┼──────┼──────┼───────┤
+ │Use secret │ │ │ X │ X │
+ │keys to show │ │ │ │ │
+ │cleartext │ │ │ │ │
+ ├──────────────┼───────┼──────┼──────┼───────┤
+ │Stash any │ │ │ │ X │
+ │newly recov‐ │ │ │ │ │
+ │ered session │ │ │ │ │
+ │keys, rein‐ │ │ │ │ │
+ │dexing mes‐ │ │ │ │ │
+ │sage if found │ │ │ │ │
+ └──────────────┴───────┴──────┴──────┴───────┘
+
+ Note: <b>--decrypt=stash</b> requires write access to the database.
+ Otherwise, <b>notmuch</b> <b>show</b> operates entirely in read-only mode.
+
+ Default: <b>auto</b>
+
+ <b>--exclude=(true|false)</b>
+ Specify whether to omit threads only matching search.ex‐
+ clude_tags from the search results (the default) or not. In ei‐
+ ther case the excluded message will be marked with the exclude
+ flag (except when output=mbox when there is nowhere to put the
+ flag).
+
+ If <b>--entire-thread</b> is specified then complete threads are re‐
+ turned regardless (with the excluded flag being set when appro‐
+ priate) but threads that only match in an excluded message are
+ not returned when <b>--exclude=true.</b>
+
+ The default is <b>--exclude=true.</b>
+
+ <b>--body=(true|false)</b>
+ If true (the default) <b>notmuch</b> <b>show</b> includes the bodies of the
+ messages in the output; if false, bodies are omitted.
+ <b>--body=false</b> is only implemented for the text, json and sexp
+ formats and it is incompatible with <b>--part</b> <b>></b> <b>0.</b>
+
+ This is useful if the caller only needs the headers as body-less
+ output is much faster and substantially smaller.
+
+ <b>--include-html</b>
+ Include "text/html" parts as part of the output (currently only
+ supported with <b>--format=text</b>, <b>--format=json</b> and <b>--format=sexp</b>).
+ By default, unless <b>--part=N</b> is used to select a specific part or
+ <b>--include-html</b> is used to include all "text/html" parts, no part
+ with content type "text/html" is included in the output.