Supported options for <b>show</b> include
- <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>--for-</b>
- <b>mat=sexp</b> this defaults 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
+ <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>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‐
+ <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
+ 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>. The JSON output is always
- encoded as UTF-8 and any message content included in the
+ 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
+ <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
+ 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
+ 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>
- <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
+ <b>raw</b> (default if <b>--part</b> 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 spec‐
ify a query that matches more than one message.
- If the specified part is a leaf part, this outputs the
+ 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
+ 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
+ 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
- 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
- structure, 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 mes‐
- sage (headers and body) and part 1 is just the body.
-
- <b>--verify</b>
- Compute and report the validity of any MIME cryptographic
- signatures found in the selected content (ie. "multi‐
- part/signed" parts). Status of the signature will be reported
- (currently only supported with --format=json and --for‐
- mat=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 con‐
- tent (ie. "multipart/encrypted" parts). Status of the decryp‐
- tion will be reported (currently only supported with --for‐
- mat=json and --format=sexp) and on successful decryption the
- multipart/encrypted part will be replaced by the decrypted
- content.
-
- Decryption expects a functioning <b>gpg-agent</b>(1) to provide any
- needed credentials. Without one, the decryption will fail.
-
- Implies --verify.
-
- <b>--exclude=(true|false)</b>
- Specify whether to omit threads only matching
- search.tag_exclude 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
- returned regardless (with the excluded flag being set when
- appropriate) but threads that only match in an excluded mes‐
- sage 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 for‐
- mats 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 --format=json and --format=sexp). 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.
+ <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 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>--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
+ decryption will be reported (currently only supported with
+ <b>--format=json</b> and <b>--format=sexp</b>) and on successful decryption
+ the multipart/encrypted part will be replaced by the decrypted
+ content.
+
+ <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.exclude_tags 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 <b>--entire-thread</b> is specified then complete threads are
+ returned regardless (with the excluded flag being set when
+ appropriate) 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.
A common use of <b>notmuch</b> <b>show</b> is to display a single thread of email
messages. For this, use a search term of "thread:<thread-id>" as can be
<h2>COPYRIGHT</h2>
<pre>
- 2009-2016, Carl Worth and many others
+ 2009-2020, Carl Worth and many others
</pre>
-<h2>0.23.4</h2>
+<h2>0.31</h2>