1NOTMUCH-PROPERTIES(7)               notmuch              NOTMUCH-PROPERTIES(7)
2
3
4

NAME

6       notmuch-properties  - notmuch message property conventions and documen‐
7       tation
8

SYNOPSIS

10       notmuch count property:<key>=<value>
11
12       notmuch search property:<key>=<value>
13
14       notmuch show property:<key>=<value>
15
16       notmuch reindex property:<key>=<value>
17
18       notmuch tag +<tag> property:<key>=<value>
19
20       notmuch dump --include=properties
21
22       notmuch restore --include=properties
23

DESCRIPTION

25       Several notmuch commands can search for, modify, add or remove  proper‐
26       ties  associated  with  specific  messages.   Properties  are key/value
27       pairs, and a message can have more than one key/value pair for the same
28       key.
29
30       While  users  can  select  based on a specific property in their search
31       terms with the prefix property:,  the  notmuch  command-line  interface
32       does  not  provide  mechanisms for modifying properties directly to the
33       user.
34
35       Instead, message properties are expected to be set and used programmat‐
36       ically, according to logic in notmuch itself, or in extensions to it.
37
38       Extensions  to  notmuch  which make use of properties are encouraged to
39       report the specific properties used to the upstream notmuch project, as
40       a way of avoiding collisions in the property namespace.
41

CONVENTIONS

43       Any  property with a key that starts with "index." will be removed (and
44       possibly re-set) upon reindexing (see notmuch-reindex(1)).
45

MESSAGE PROPERTIES

47       The following properties are set by notmuch internally in the course of
48       its normal activity.
49
50       index.decryption
51              If  a  message  contains encrypted content, and notmuch tries to
52              decrypt that content during indexing, it will add  the  property
53              index.decryption=success when the cleartext was successfully in‐
54              dexed.  If notmuch attempts to decrypt any  part  of  a  message
55              during  indexing  and that decryption attempt fails, it will add
56              the property index.decryption=failure to the message.
57
58              Note that it's possible for a single message to  have  both  in‐
59              dex.decryption=success  and  index.decryption=failure.  Consider
60              an encrypted e-mail  message  that  contains  another  encrypted
61              e-mail  message  as an attachment -- if the outer message can be
62              decrypted, but the attached part cannot,  then  both  properties
63              will be set on the message as a whole.
64
65              If  notmuch  never  tried to decrypt an encrypted message during
66              indexing (which  is  the  default,  see  index.decrypt  in  not‐
67              much-config(1)), then this property will not be set on that mes‐
68              sage.
69
70       session-key
71          When notmuch-show(1) or nomtuch-reply encounters a message  with  an
72          encrypted  part,  if notmuch finds a session-key property associated
73          with the message, it will try that stashed session key  for  decryp‐
74          tion.
75
76          If  you  do  not  want to use any stashed session keys that might be
77          present, you should pass those programs --decrypt=false.
78
79          Using a stashed session key with "notmuch show" will speed  up  ren‐
80          dering  of  long  encrypted threads.  It also allows the user to de‐
81          stroy the secret part of any expired encryption-capable subkey while
82          still  being  able to read any retained messages for which they have
83          stashed the session key.  This enables truly deletable e-mail, since
84          (once  the  session  key  and  asymmetric subkey are both destroyed)
85          there are no keys left that can be used to decrypt any copy  of  the
86          original message previously stored by an adversary.
87
88          However,  access to the stashed session key for an encrypted message
89          permits full byte-for-byte reconstruction of the cleartext  message.
90          This includes attachments, cryptographic signatures, and other mate‐
91          rial that cannot be reconstructed from the index alone.
92
93          See index.decrypt in notmuch-config(1) for more details about how to
94          set notmuch's policy on when to store session keys.
95
96          The  session key should be in the ASCII text form produced by GnuPG.
97          For OpenPGP, that consists of a decimal representation of  the  hash
98          algorithm  used  (identified  by  number from RFC 4880, e.g. 9 means
99          AES-256) followed by a colon, followed by a hexadecimal  representa‐
100          tion  of  the  algorithm-specific  key.  For example, an AES-128 key
101          might   be   stashed   in    a    notmuch    property    as:    ses‐
102          sion-key=7:14B16AF65536C28AF209828DFE34C9E0.
103
104       index.repaired
105          Some  messages  arrive in forms that are confusing to view; they can
106          be mangled by mail transport agents, or the sending mail user  agent
107          may structure them in a way that is confusing.  If notmuch knows how
108          to both detect and repair such a problematic message, it will do  so
109          during indexing.
110
111          If  it applies a message repair during indexing, it will use the in‐
112          dex.repaired property to note the type of repair(s) it performed.
113
114          index.repaired=skip-protected-headers-legacy-display indicates  that
115          when indexing the cleartext of an encrypted message, notmuch skipped
116          over a "legacy-display" text/rfc822-headers part that  it  found  in
117          that  message,  since  it  was  able to index the built-in protected
118          headers directly.
119
120          index.repaired=mixedup indicates the repair  of  a  "Mixed  Up"  en‐
121          crypted  PGP/MIME  message,  a mangling typically produced by Micro‐
122          soft's               Exchange               MTA.                 See
123          https://tools.ietf.org/html/draft-dkg-openpgp-pgpmime-message-mangling
124          for more information.
125

SEE ALSO

127       notmuch(1), notmuch-config(1), notmuch-dump(1), notmuch-insert(1), not‐
128       much-new(1),  notmuch-reindex(1), notmuch-reply(1), notmuch-restore(1),
129       notmuch-show(1), *notmuch-search-terms(7)
130

AUTHOR

132       Carl Worth and many others
133
135       2009-2021, Carl Worth and many others
136
137
138
139
1400.32.1                           May 17, 2021            NOTMUCH-PROPERTIES(7)
Impressum