Trackinggenerate Channel Option

Automatic Tracking ID Generation
Message tracking and recall depends on the generation, attachment, and transfer of tracking identifiers. Such identifiers are normally generated and attached to messages by the submitting client. However, essentially no clients currently support the generation of such identifiers, making it impossible to write a separate tracking/recall client to deal with messages submitted by a non-tracking-enabled client. Additionally, a user who elects to use multiple clients, some tracking-enabled and some not, will end up with only a subset of their messages able to be tracked and recalled.

Tracking identifiers can also provide, independent of their use for user tracking and recall, a stable identifier that ties MTA log entries across multiple systems together in ways that envelope ids and messag-id header fields do not and cannot. As such, automatic assignment of tracking identifiers to message on ingress as well as submission has real utility independent of user tracking and recall functions.

The  source channel addresses these needs. A single required integer parameter specifies the default tracking timeout. If set, a tracking identifier for the message is generated in one of two ways:



 If authentication has been used and the user has a general recall secret associated with their LDAP entry (see the   MTA option), then a per-message recall secret is generated by computing a SHA-1 hash of the concatenation of the content of Message-id: header field, the Date: header field (if present), and the user&#x27;s general recall secret. The per-message recall is then hashed twice with SHA-1 to create the tracking identifier. The tracking timeout is controlled by the  value. 

 If authentication wasn&#x27;t used or no general recall secret is associated with the account, a tracking identifier is created by hashing a unique identifier with an MD4 hash. Note that the security of this process is controlled not by the randomness of the unique identifier or the use of MD4, but rather by the infeasilbility of computing X given T, where SHA1(X) = MD4(T). 



See also:
 * Message tracking channel options
 * Message tracking MTA options
 * ldap_auth_attr_recall_secret MTA Option