]> git.notmuchmail.org Git - notmuch/blobdiff - doc/man1/notmuch-show.rst
cli/show: make --decrypt take a keyword.
[notmuch] / doc / man1 / notmuch-show.rst
index bad868beab892504286ea2e63b6de356f5e26cbd..7d2b38cbb97eb3c1dc1c61282330af75da5123c6 100644 (file)
@@ -50,20 +50,19 @@ Supported options for **show** include
             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
@@ -74,24 +73,24 @@ Supported options for **show** include
             '>' 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
@@ -105,6 +104,10 @@ Supported options for **show** include
         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"
@@ -112,18 +115,27 @@ Supported options for **show** include
         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
@@ -173,7 +185,15 @@ This command supports the following special exit status codes
 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)**