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
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"