# US 12,225,123 B2 · Electronic mail authentication and tracking in database system using message identifier within body of electronic mail

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,225,123 B2
- Document ID: US12225123B2
- Status: Granted
- Kind: B2
- Application number: 17/813,314
- Filed: 2022-07-18
- Published: 2024-01-18
- Granted: 2025-02-11
- Earliest claimed: 2022-07-18
- Assignees: Salesforce, Inc.
- Applicants: Salesforce, Inc.
- Inventors: Minhui Yan; Abhijit Bare
- Web page: https://patentgrep.com/patent/US12225123B2

## CPC

- H04L 9/088: {Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms (network architectures or network communication protocols for using time-dependent keys in a packet data network H04L63/068)}
- H04L 9/32: including means for verifying the identity or authority of a user of the system {or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials}
- H04L 9/321: {involving a third party or a trusted authority}
- H04L 9/3242: {involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC}
- H04L 9/3263: {involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements (network architectures or network communication protocols for supporting authentication of entities using certificates in a packet data network H04L63/0823)}
- H04L 51/214: using selective forwarding
- H04L 63/0236: {Filtering by address, protocol, port number or service, e.g. IP-address or URL}
- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04L 51/42: Mailbox-related aspects, e.g. synchronisation of mailboxes
- H04L 63/20: {for managing network security; network security policies in general (filtering policies H04L63/0227)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Disclosed are systems, apparatus for tracking inbound email messages in association with database records. An outbound email message is automatically generated or updated to include a message identifier within one or more headers and within a body of the outbound email message. Subsequently, a first electronic mail message received via a network from a first client device is processed, where the first electronic message has one or more headers and a body. A first message identifier (ID) is obtained from the body and the first message ID is parsed such that an encrypted portion and one or more unencrypted portions are obtained. A secret key associated with the first electronic mail message is obtained and the first electronic mail message is authenticated using the secret key, the encrypted portion of the first message ID, and at least one unencrypted portion. The first electronic mail message is processed according to a result of authenticating the first electronic mail message.

## Claims

### Claim 1

A system comprising:
a database system implemented using a server system, comprising:
at least one hardware processor;
when executed by the at least one hardware processor, the database system configurable to cause:
processing a first electronic mail message received via a network from a first client device, the first electronic message having a set of headers and a body;
obtaining a first message identifier (ID) from the body;
parsing the first message ID such that an encrypted portion and one or more unencrypted portions are obtained, a first unencrypted portion of the unencrypted portions including an entity identifier associated with a first database record of a database;
obtaining a secret key associated with the first electronic mail message;
authenticating the first electronic mail message using the secret key, the encrypted portion of the first message ID, and at least one unencrypted portion of the unencrypted portions of the first message ID; and
processing the first electronic mail message according to a result of authenticating the first electronic mail message.

### Claim 2 (depends on 1)

The system of claim 1, the database system further configurable to cause:
attempting to authenticate the first electronic mail message using at least one header of the set of headers prior to obtaining the first message ID from the body of the first electronic mail message.

### Claim 3 (depends on 1)

The system of claim 1, the unencrypted portions including a key identifier, the database system further configurable to cause:
obtaining a secret key using the key identifier;
wherein authenticating is performed using the secret key.

### Claim 4 (depends on 1)

The system of claim 1, the database system further configurable to cause:
processing the first electronic mail message by discarding the first electronic mail message responsive to determining that the first electronic mail message is not successfully authenticated.

### Claim 5 (depends on 1)

The system of claim 1, the database system further configurable to cause:
creating a second database record associated with the entity identifier; and
associating the first electronic mail message with the second database record.

### Claim 6 (depends on 1)

The system of claim 1, the database system further configurable to cause:
identifying, within the body, a predefined set of characters, the predefined set of characters preceding the first message ID within the body.

### Claim 7 (depends on 6)

The system of claim 6, the database system further configurable to cause:
providing the first message ID within a body of an outbound email message; and
transmitting the outbound email message to the first client device.

### Claim 8

A method, comprising:
processing a first electronic mail message received via a network from a first client device, the first electronic message having a set of headers and a body;
obtaining a first message identifier (ID) from the body;
parsing the first message ID such that an encrypted portion and one or more unencrypted portions are obtained, a first unencrypted portion of the unencrypted portions including an entity identifier associated with a first database record of a database;
obtaining a secret key associated with the first electronic mail message;
authenticating the first electronic mail message using the secret key, the encrypted portion of the first message ID, and at least one unencrypted portion of the unencrypted portions of the first message ID; and
processing the first electronic mail message according to a result of authenticating the first electronic mail message.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
attempting to authenticate the first electronic mail message using at least one header of the set of headers prior to obtaining the first message ID from the body of the first electronic mail message.

### Claim 10 (depends on 8)

The method of claim 8, the unencrypted portions including a key identifier, the method further comprising:
obtaining a secret key using the key identifier;
wherein authenticating is performed by applying the secret key.

### Claim 11 (depends on 8)

The method of claim 8, further comprising:
processing the first electronic mail message by discarding the first electronic mail message responsive to determining that the first electronic mail message is not successfully authenticated.

### Claim 12 (depends on 8)

The method of claim 8, further comprising:
creating a second database record associated with the entity identifier; and
associating the first electronic mail message with the second database record.

### Claim 13 (depends on 8)

The method of claim 8, further comprising:
identifying, within the body, a predefined set of characters, the predefined set of characters preceding the message identifier string within the body.

### Claim 14 (depends on 13)

The method of claim 13, further comprising:
providing the message identifier string within a body of an outbound email message; and
transmitting the outbound email message to the first client device.

### Claim 15 (depends on 14)

The method of claim 14, the message identifier string being provided via Cascading Style Sheets (CSS).

### Claim 16

A non-transitory machine-readable storage medium having computer program instructions stored therein, the computer program instructions configured such that, when executed by one or more processors, the computer program instructions cause the one or more processors to:
process a first electronic mail message received via a network from a first client device, the first electronic message having a set of headers and a body;
obtain a first message identifier (ID) from the body;
parsing the first message ID such that an encrypted portion and one or more unencrypted portions are obtained, a first unencrypted portion of the unencrypted portions including an entity identifier associated with a first database record of a database;
obtain a secret key associated with the first electronic mail message;
authenticate the first electronic mail message using the secret key, the encrypted portion of the first message ID, and at least one unencrypted portion of the unencrypted portions of the first message ID; and
process the first electronic mail message according to a result of authenticating the first electronic mail message.

### Claim 17 (depends on 16)

The non-transitory machine-readable medium of claim 16, wherein the computer program instructions are further configured to cause the one or more processors to:
attempt to authenticate the first electronic mail message using at least one header of the set of headers prior to obtaining the first message ID from the body of the first electronic mail message.

### Claim 18 (depends on 17)

The non-transitory machine-readable medium of claim 17, wherein the computer program instructions are further configured to cause the one or more processors to:
obtain a secret key using the key identifier;
wherein authenticating is performed using the secret key.

### Claim 19 (depends on 16)

The non-transitory machine-readable medium of claim 16, wherein the computer program instructions are further configured to cause the one or more processors to:
processing the first electronic mail message by discarding the first electronic mail message responsive to determining that the first electronic mail message is not successfully authenticated.

### Claim 20 (depends on 16)

The non-transitory machine-readable medium of claim 16, wherein the computer program instructions are further configured to cause the one or more processors to:
create a second database record associated with the entity identifier; and
associate the first electronic mail message with the second database record.
