Managing digital message transmissions via proxy digital mailboxes
Using proxy addresses for context routing through the digital message management platform, analyzing message content and metadata to identify recipients, and providing supplementary information solves the problem that enterprises have difficulty dealing with large amounts of emails when using universal emails, and improves response efficiency and customer relationship management.
Patent Information
- Application Number
- CN202380072006.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-04-12
- Filing Date
- 2023-09-20
- Publication Date
- 2025-05-16
AI Technical Summary
When using a universal email, it is difficult for businesses to determine which emails are right for them, leading to the potential missed opportunities or annoyed customers, while users have difficulty remembering the context associated with a specific email.
Through the digital message management platform, the context routing of messages is used using proxy addresses, the message content and metadata are analyzed to identify recipients of digital messages directed to the proxy mailbox, and provide supplementary information and context data where necessary.
Effectively manage and route emails, help users identify the right recipients and provide the necessary contextual information, thereby improving response efficiency, reducing missed opportunities, and improving customer relationships.
Smart Images

Figure CN120019399A_ABST
Abstract
Description
[0001] Incorporation by Reference; Disclaimer
[0002] The following applications are hereby incorporated by reference: Application No. 18 / 299,641 filed on April 12, 2023; Application No. 63 / 416,351 filed on October 14, 2022. Applicant hereby revokes any disclaimer of claim scope in the parent application(s) or its prosecution history, and informs the USPTO that the claims in this application may be broader than any claim in the parent application(s). Technical Field
[0003] The present disclosure relates to managing the transmission of digital messages via a proxy mailbox. Specifically, the present disclosure relates to analyzing message content, including metadata and content within the message, to identify recipients of digital messages directed to a proxy mailbox. Background Art
[0004] Enterprises use general-purpose email mailboxes to send and receive messages to and from customers. Typically, one or more users with permission can view messages in a general-purpose email mailbox. However, the email mailbox receives a large number of emails, and it may be difficult for users to determine which emails are appropriate for them. Users may miss opportunities or annoy customers by failing to respond to emails in a timely manner. In addition, when users receive a large number of emails, users may find it difficult to remember the context associated with a specific email. For example, a recruiter may be dealing with ten different candidates, four active clients, and twenty or more opportunities associated with other recruiters or the entire recruiting company. When reading candidate emails, the recruiter may find it difficult to remember the qualifications of a specific candidate or the requirements of a specific position.
[0005] The approaches described in this section are approaches that could be pursued, but are not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section. BRIEF DESCRIPTION OF THE DRAWINGS
[0006] In the figures of the accompanying drawings, embodiments are illustrated by way of example and not by way of limitation. It should be noted that references to "an embodiment" or "one embodiment" in this disclosure do not necessarily refer to the same embodiment, and they mean at least one. In the drawings:
[0007] Figure 1 illustrates a system according to one or more embodiments;
[0008] Figure 2A and Figure 2Billustrates a set of example operations for managing the transmission of digital messages via a proxy mailbox in accordance with one or more embodiments;
[0009] Figure 3 illustrates a set of example operations for identifying multiple digital message recipients of a digital message sent to a proxy mailbox in accordance with one or more embodiments;
[0010] Figure 4 illustrates an example embodiment; and
[0011] Figure 5 A block diagram illustrating a computer system in accordance with one or more embodiments is shown. DETAILED DESCRIPTION
[0012] In the following description, for the purpose of explanation, many specific details are set forth in order to provide a thorough understanding. One or more embodiments may be practiced without these specific details. Features described in one embodiment may be combined with features described in different embodiments. In some examples, well-known structures and devices are described with reference to block diagram form to avoid unnecessarily obscuring the present invention.
[0013] 1. General Overview
[0014] 2. System architecture
[0015] 3. Analyze digital message content to manage digital message transmission via proxy mailboxes
[0016] 4. Analyze digital messages to agent mailboxes to identify multiple recipients
[0017] 5. Example Embodiments
[0018] 6. Computer Networks and Cloud Networks
[0019] 7. Miscellaneous; Extensions
[0020] 8. Hardware Overview
[0021] 1. General Overview
[0022] One or more embodiments include a digital message management platform that uses proxy addresses for contextual routing of messages. The digital message management platform manages 1-to-n and n-to-n communications, incorporating proxy addresses for unified messaging, user privacy, and message management. In an example, outbound messages from various users associated with the digital message management platform are sent out using the same proxy address as the source address (replacing the user's address). When a response message is received, the digital message management platform identifies the appropriate recipient(s) from a group of users associated with the digital message management platform based on contextual data determined from the message, message metadata, and / or the source of the response message.
[0023] Identifying appropriate recipient(s) from the group of users for contextual routing may include identifying an initial user who sent the outbound message, identifying users included in the initial outbound message, identifying users who may have contributed to the conversation, and / or identifying users that the system determines should be copied in the conversation based on inclusion criteria.
[0024] According to one or more embodiments, the context data used to route the message may include, for example, personal information about the author of the reply message and information about matters associated with the author of the reply message. The system provides the context information to the original source address along with the reply message.
[0025] In one or more embodiments, the digital message management platform supplements inbound and / or outbound messages with supplemental information that may be helpful to the recipient of the message. In an example, the digital message management platform forwards a message from a candidate to a recruiter. Before forwarding the message, the digital message management platform queries a database for a hiring manager note associated with the candidate. The system attaches the note to the message before forwarding the message to the recruiter. The recruiter can then process and / or respond to the candidate's message based on the hiring manager note.
[0026] According to one or more embodiments, a system determines when a reply message should be sent to an address other than an initial source address. For example, the initial source message may be "to: Bob@domain2.xxy" and "cc: Lucy@domain1.xxy." The system transmits the initial message to the addresses Bob@domain2.xxy and Lucy@domain1.xxy. If the system receives a reply from Bob@domain2.xxy that omits the destination address Lucy@domain1.xxy, then the system determines whether to also transmit the reply message to Lucy@domain1.xxy. For example, the system may apply a rule that specifies that if (a) Lucy@domain1.xxy is included as a destination address for the initial digital message from the source address, and if (b) Lucy@domain1.xxy is not included in the reply message to the initial digital message, then the system modifies the destination address associated with the reply message to include the destination address Lucy@domain1.xxy.
[0027] According to one or more embodiments, a digital message management platform provides contextual notifications and / or displays of messages from a shared mailbox. For example, a user can send messages from an email address of a shared mailbox and can receive messages in the shared mailbox. When a message is received at an address associated with a shared mailbox, the digital message management platform identifies one or more recipients who have access to the shared mailbox based on contextual data determined from the message, message metadata, and / or the source of the message. The system can perform notification operations such as (a) sending a notification (such as an email, instant message, or text) to a specific communication platform notifying that the message in the shared mailbox is associated with a recipient, (b) tagging the message in the shared mailbox with the name of the recipient associated with the message, and / or (c) categorizing the messages in the shared mailbox according to the user. For example, a shared mailbox can include a separate header for each user who has access to the shared mailbox. The system can display messages that the system has determined to be associated with a specific user under each header. Additionally or alternatively, the user can access email messages via a specific application. The specific application can access the shared mailbox and only display messages from the shared mailbox associated with a specific user to the user. The system can display the shared mailbox so as to hide messages that are determined to be associated with other users and that the specific user does not have viewing authorization.
[0028] One or more embodiments provide for selective anonymization of messages by a digital message management platform. For example, a user may generate a message to an external address. The message generation graphical user interface (GUI) may include radio buttons to (a) display / hide the source address, and (b) display / hide the source sender name. For example, a user may hide the source address but display its name. The recipient will see the email from a proxy email address or a shared email address and the sender's name. Alternatively, a user may hide both the source address and the sender's name. The recipient will see the email from a proxy email address or a shared email address with the sender's name omitted. Additionally or alternatively, the message generation GUI may include radio buttons to display the sender's name and / or address to a recipient in the same organization as the sender (such as a recipient with the same email domain), and to hide the sender's name and / or address from a recipient outside the organization.
[0029] One or more embodiments described in the specification and / or recited in the claims may not be included in this general summary.
[0030] 2. System architecture
[0031] Figure 1 A system 100 is illustrated according to one or more embodiments. Figure 1As shown in FIG. 1 , system 100 includes a digital communication management platform 110 and a data repository 130. In one or more embodiments, system 100 may include Figure 1 More or fewer components than those shown in the illustrations. Figure 1 The components shown in can be local to each other or remote from each other. Figure 1 The components illustrated in the figure may be implemented in software and / or hardware. Each component may be distributed across multiple applications and / or machines. Multiple components may be combined into one application and / or machine. The operations described with respect to one component may be performed by another component instead.
[0032] One or more clients 102, 104 communicate with the digital communication management platform 110 to transmit and receive digital messages, such as electronic mail (email). The digital communication management platform 110 transmits digital messages to and receives digital messages from one or more destination devices 120. For example, a client 102 associated with a first digital message address 103 may interface with a user interface (such as interface 119) of the digital communication management platform 110 to send a digital message to the destination device 120. A user associated with a digital message address 121 may access the destination device 120 to send a digital message to the proxy addresses 112-115.
[0033] According to one or more embodiments, clients 102 and 104 are associated with one or more devices, such as a personal computer, a notebook computer, or a mobile device. A user associated with address 103 or 105 can communicate with the digital communication management platform 110 via any device. For example, a user associated with address 103 can open an application at a workstation to access a cloud-based digital communication management platform 110 managed within the enterprise. Additionally or alternatively, a user associated with address 103 can access the digital communication management platform 110 by typing a uniform resource locator (URL) into a web browser from any one of a personal computer, a notebook computer, and a mobile phone. Additionally or alternatively, the digital communication management platform 110 can be implemented at least in part as an application that can be downloaded onto a client device. A user associated with address 103 or 105 can interface with the application to send and receive messages. The application can communicate with cloud-based resources to perform functions for transmitting, receiving, storing, and analyzing digital messages.
[0034] According to one or more embodiments, the system includes an automated message generator 106. The automated message generator 106 can generate messages associated with one or more clients 102, 104 without user input from users associated with the clients 102, 104. For example, a recruitment application can match employment opportunities with candidates associated with the client 102. The recruitment application can generate an email message with one or more employment opportunity links to each candidate without user input from the client 102. When the digital communication management platform 110 transmits the message to the user associated with the address 121, the proxy mailbox manager 111 can specify the recruitment mailbox address 112 as the source address. When the user associated with the address 121 replies to the message, the digital communication management platform 110 can identify the client 102 as being associated with the reply message, even if the initial message was generated by the automated message generator 106, was sent from the anonymized address 112, and the candidate replied to the anonymized address 112.
[0035] The digital communication management platform 110 includes an agent mailbox manager 111, a contextual data retrieval engine 118, a digital communication processing engine 117, and an interface 119. In one or more embodiments, the interface 119 refers to hardware and / or software configured to facilitate communication between a user and the digital communication management platform 110. The interface 119 renders user interface elements and receives input via the user interface elements. Examples of interfaces include graphical user interfaces (GUIs), command line interfaces (CLIs), tactile interfaces, and voice command interfaces. Examples of user interface elements include check boxes, radio buttons, drop-down lists, list boxes, buttons, toggle keys, text fields, date and time selectors, command lines, sliders, pages, and forms.
[0036] In an embodiment, different components of the interface 119 are specified in different languages. The behavior of the user interface elements is specified in a dynamic programming language such as JavaScript. The content of the user interface elements is specified in a markup language such as Hypertext Markup Language (HTML) or XML User Interface Language (XUL). The layout of the user interface elements is specified in a style sheet language such as Cascading Style Sheets (CSS). Alternatively, the interface 119 is specified in one or more other languages such as Java, C, or C++.
[0037] According to one embodiment, interface 119 includes a graphical user interface element that allows a user to selectively anonymize a message. For example, a user may use address 103 to generate a message to external address 121. Interface 119 may provide a GUI to client 102 that includes user-selectable radio buttons to (a) show / hide the source address, and (b) show / hide the source sender name. The GUI may also include radio buttons to allow the user to selectively display their name and address to other users within the same organization, such as users with addresses that include "domain1." When the user selects the interface element to hide the source address, proxy mailbox manager 111 replaces the source address "name1@domain1" with a corresponding proxy address, such as "recruiting@domain1." Proxy mailbox manager 111 includes the name associated with address "name1@domain1" in the message. For example, the recipient may see in the address line: "name1@domain1."<recruiting@domain1> When the user selects the interface element to hide the user name and source address, the proxy mailbox manager 111 replaces the source address "name1@domain1" with the corresponding proxy address, such as "recruiting@domain1". The proxy mailbox manager 111 also omits the name associated with the address "name1@domain1" from the message. For example, the recipient may see in the address line: "Recruiting@domain1".<recruiting@domain1> ”.
[0038] The agent mailbox manager 111 stores messages associated with one or more agent mailboxes 134. Figure 1 In the embodiment shown in , the agent mailbox 134 includes a recruitment mailbox associated with address 112, a support mailbox associated with address 113, an information mailbox associated with address 114, and a sales mailbox associated with address 115. Each agent mailbox can be associated with one or more clients (such as users or employees). For example, an organization may include ten recruiters. The recruitment mailbox associated with address 112 can manage messages from and to these ten recruiters. Similarly, an organization may include fifty customer support representatives. The support mailbox associated with address 113 can manage messages from and to these fifty customer support representatives. For example, the agent mailbox manager 111 receives a message directed to the agent address 112, identifies a specific address 103 or 105 associated with the message, and generates a message including message content to be transmitted to the specific address 103 or 105 identified as being associated with the message.
[0039] The proxy mailbox manager 111 includes a proxy mailbox configuration analysis engine 116. The proxy mailbox configuration analysis engine 116 analyzes the proxy mailbox configuration 131 to identify rules for storing and transmitting messages. For example, the proxy mailbox configuration 131 may specify the client 102 or 104 to which the message should be sent. The proxy mailbox configuration 131 may specify under which conditions the proxy mailbox manager 111 should generate the message. For example, the proxy mailbox configuration analysis engine 116 may determine based on semantic content that if the message is personal in nature, then the proxy mailbox manager 111 should transmit the message to the recipient without generating the message from the proxy mailbox address. In contrast, the proxy mailbox configuration analysis engine 116 may determine based on semantic content that if the message is business-related, then the proxy mailbox manager 111 should generate a message with the proxy mailbox address as the source address, including the message content. The proxy mailbox configuration 131 may specify that any message sent from address 103 should be copied (cc) to address 105. The proxy mailbox configuration 131 may specify that any message sent to address 103 should be copied to address 105. Proxy mailbox configuration 131 may specify that the proxy mailbox manager should generate a message to address 103 and copied to address 105 when (a) the received message is a reply to a message originating from address 103 and (b) the message originating from address 103 is copied to address 105.
[0040] The digital communication processing engine 117 analyzes received digital communications to identify actions to be taken associated with the communications. For example, the digital communication processing engine 117 analyzes digital communications received from clients 102 and 104 and automated message generator 106 to identify proxy mailboxes from which messages are to be transmitted. The digital communication processing engine 117 analyzes digital communications received from external addresses (such as address 121) directed to proxy addresses 112, 113, 114, or 115 to identify addresses 103 or 105 to which messages are to be sent.
[0041] The digital communication processing engine 117 analyzes digital communications by analyzing the content within the communication and / or metadata transmitted with or associated with the communication. For example, the content of a message may include an item identification number within the text of the message, a name within the text of the message. The metadata may include a timestamp associated with the message, a source address (such as an email address) from which the message was sent, or an IP address or MAC address associated with a device that sent the message. The metadata may include a data file that is not visible within the message and includes data associated with the message. For example, the metadata may identify the sender of the message, the sender's address, the recipient of the message, the priority of the message, and time data associated with the message.
[0042] The contextual data retrieval engine 118 identifies contextual data 133 associated with the digital message based on the message content and / or metadata associated with the message. For example, the contextual data retrieval engine 118 can retrieve employment opportunities, resumes, and related documents associated with the employment candidate based on identifying the employment candidate as the sender of the digital message. The agent mailbox manager 111 can send the contextual information along with the digital message to a recruiter associated with the address 103. According to one or more embodiments, the system uses at least some of the contextual data to perform contextual routing of the message. In other words, the system identifies one or more target addresses for routing the message based on the identified contextual data.
[0043] For example, the contextual data retrieval engine 118 can query the database to find a hiring manager note related to the candidate. The proxy mailbox manager 111 attaches the note to the message before sending it to the recruiter. The recruiter can then process and / or respond to the candidate's message based on the hiring manager note.
[0044] In one or more embodiments, the digital communication management platform 110 refers to hardware and / or software configured to perform the operations described herein for receiving digital communications, analyzing the content of digital communications, identifying contextual data associated with digital communications, and generating digital communications. Figure 2A and Figure 2B as well as Figure 3 Examples of operations are described for managing the transmission of digital messages via a proxy mailbox based on content associated with received messages.
[0045] In an embodiment, the digital communication management platform 110 is implemented on one or more digital devices. The term "digital device" generally refers to any hardware device including a processor. A digital device may refer to a physical device that executes an application or a virtual machine. Examples of digital devices include computers, tablet computers, laptop computers, desktop computers, netbooks, servers, web servers, network policy servers, proxy servers, general machines, function-specific hardware devices, hardware routers, hardware switches, hardware firewalls, hardware firewalls, hardware network address translators (NATs), hardware load balancers, mainframes, televisions, content receivers, set-top boxes, printers, mobile handsets, smart phones, personal digital assistants (PDAs), wireless receivers and / or transmitters, base stations, communication management devices, routers, switches, controllers, access points, and / or client devices.
[0046] Additional embodiments and / or examples related to computer networks are described in Section 6 below, entitled “Computer Networks and Cloud Networks”.
[0047] In one or more embodiments, the data repository 130 is any type of storage unit and / or device for storing data (e.g., a file system, a database, a collection of tables, or any other storage mechanism). In addition, the data repository 130 may include multiple different storage units and / or devices. The multiple different storage units and / or devices may or may not be of the same type or located at the same physical site. In addition, the data repository 130 may be implemented or executed on the same computing system as the digital communication management platform 110. Alternatively or additionally, the data repository 130 may be implemented or executed on a computing system separate from the digital communication management platform 110. The data repository 130 may be coupled to the digital communication management platform 110 via a direct connection or via a network communication.
[0048] The information describing the proxy mailbox configuration 131, the message metadata 132, and the context data 133 may be implemented across any component within the system 100. However, for the sake of clarity and explanation, this information is illustrated as being within the data repository 130.
[0049] In one or more embodiments, a tenant, such as client 102 and / or client 104 , is a user associated with a company, organization, enterprise, or other entity that accesses a shared computing resource, such as digital communications management platform 110 .
[0050] 3. Analyze digital message content to manage digital message transmission via proxy mailboxes
[0051] Figure 2A and Figure 2B
[0013] Illustrated is an example set of operations for managing the transmission of digital messages to and from a proxy mailbox in accordance with one or more embodiments. Figure 2A and Figure 2B One or more of the operations illustrated in the figure may be modified, rearranged or omitted altogether. Figure 2A and Figure 2B The particular order of operations illustrated in the drawings should not be construed as limiting the scope of one or more embodiments.
[0052] The system receives a message directed to an external address from a source address (operation 202). The source address is an address associated with a proxy mailbox. For example, a company can maintain a proxy mailbox. Employees of the company can access the proxy mailbox to send messages to addresses outside the company. The source address can be associated with the employee. In one or more embodiments, a proxy mailbox is associated with multiple users. For example, multiple employees can send messages from the same proxy mailbox. In an example embodiment where the proxy mailbox is managed in a cloud environment, a user can log in to a software platform associated with one or more servers in the cloud environment from a desktop computer or other computer. The platform can provide a graphical user interface (GUI) for generating and / or receiving messages to the user.
[0053] According to one or more embodiments, the received message is from the same domain as the proxy mailbox. For example, a user associated with the email address ABC@domain1.xxy may access the proxy mailbox proxy@domain1.xxy. Users not associated with an email address matching the proxy mailbox domain may not be able to access the proxy mailbox.
[0054] According to one embodiment, the message is an automatically generated message that is generated without user input. For example, the system may identify three candidates that meet the qualifications for the position requirements. The system may generate an automated message requesting information such as a resume, cover letter, writing sample, or transcript.
[0055] The system determines whether the user has selected address anonymization for the message (operation 204). For example, when the source of the message is the user, the system can provide the user with a GUI that includes a selectable radio button to show / hide the source address. The selectable radio button may include an option to show / hide the source address for all destination addresses or to selectively show / hide the source address. For example, the user can select a button to show the source address to other addresses with the same domain and hide the source address from any address outside the domain. The choice to show / hide the source address can be selected by the user when the message is generated, or can be stored in a predefined setting so that the system applies to any message generated within a particular electronic messaging application.
[0056] According to one or more embodiments, the system determines whether to replace the source address with a proxy address by determining that the source address is associated with a permission level that grants the user associated with the source address access to the proxy mailbox. If the source address is not associated with the corresponding permission level, the system can avoid replacing the source address with the proxy address. According to another example, the system can identify the source application from which the message is received. The system can determine whether to replace the source address with a proxy address based on the source application. For example, if the user generates and transmits a message from a type of application such as an email application in a web browser or from an email service associated with an office application suite of the application, the system can avoid replacing the source address with a proxy address. On the other hand, if the user generates and transmits a message using an application or browser plug-in associated with a proxy email platform, the system can replace the source address with a proxy address. According to another example embodiment, the system can analyze the account configuration settings to determine whether to replace the source address with a proxy address. For example, the account configuration settings can specify that when the email is directed to an address in a set of addresses, the system should replace the source address with a proxy address, and when the email is directed to any other address, the system should not replace the source address with a proxy address. An account configuration setting may specify that when a user selects a particular icon on the GUI, the system should replace the source address with the proxy address, and when the user does not select that icon, the system should not replace the source address with the proxy address.
[0057] Based on detecting the selection to anonymize the source address, the system replaces the source address of the digital message with the proxy address (operation 206). For example, if the message is received from the address ABC@domain1.xxy, the system replaces the address with the proxy address proxy@domain1.xxy. Replacing the address may include generating a new message including the proxy address. The new message includes the message content contained in the received digital message.
[0058] The system stores the source address in association with the message (operation 208). For example, after replacing the source address with the proxy address, the system can store the source address as metadata in a digital file attached to the message. The metadata is not displayed in the address line of the message or in the content of the message.
[0059] According to one embodiment, the system includes an automated digital message generator. For example, the system can automatically generate messages to: notify a job applicant of the next stage of the interview process, notify a business or sales prospect of an event or sales opportunity, and notify a client of an event. The automated digital message generator may not have a specified address. Upon receiving a digital message from the automated digital message generator, the system assigns a proxy address to the digital message. The system can also identify a source address that should be associated with the digital message. For example, the automated digital message generator can generate a reminder message for a client associated with a specific account. The system can identify a source address associated with the account and store the source address as metadata in a generated digital message that includes the proxy address as the source address in the digital message.
[0060] The system determines whether source name anonymization is selected (operation 210). For example, a recruiter may send an initial message to a potential client from an agent email address. However, the recruiter may choose to retain their name in the email header to add a personal element to the message. Alternatively, the user may choose to omit their name from the message. For example, a customer support team may be assisting a specific client. Members of the team may send messages without identifying themselves as the sender.
[0061] Based on determining that the user has selected to anonymize the source name, the system omits the user's name from the message (operation 212). For example, the system may include only the email address in the "from" portion of the message. According to one embodiment, the system may also remove the user's name from the signature portion. For example, the system may detect whether the user has set up an email account to automatically include the user's name in the "signature" of each message. Based on detecting that the user has selected to anonymize the source name, the system may omit the user's name from the address portion of the message and remove the user's name from the signature portion of the message.
[0062] Based on determining that the user has avoided selecting source name anonymization, the system includes the user's name in the message (operation 214). For example, the system can include the user's name in association with a proxy email address, such as: "JohnJohnson@proxyaddress1.xyz".
[0063] The system transmits the message to the external address, and the proxy address is displayed as the source address of the message (operation 216). In the example where the digital message is an email address, the system lists the proxy address in the "from:" field and the external address in the "to:" field. The system avoids displaying the original source address.
[0064] The system receives a message addressed to the proxy address from the external address (operation 218).
[0065] The system analyzes the received message to perform contextual routing for the message (operation 220). Specifically, the system identifies context data that informs the system which target address or addresses the message should be routed to. The target address is an address that is different from the proxy address. In particular, when multiple users associated with multiple different digital message addresses have access to a proxy mailbox, the system analyzes the received message to identify a specific target address from the multiple different digital message addresses to which the system will send the message. According to one embodiment, the system identifies a message that is a reply to a message sent from a proxy address. The system may analyze the stored metadata associated with the replied message to identify the target address. According to another example embodiment, the system analyzes the metadata transmitted with the message to identify the target address. According to yet another embodiment, the system analyzes the message content (such as a matter ID number contained in the message content) to identify the target address. For example, the subject of the message may include the text: "Re: Matter: ZZXX11 Employment Opportunity". The system may identify transaction ZZXX11 as being associated with two target addresses: ABC@domain1.xxy and DEF@domain1.xxy.
[0066] The system generates a message directed to the target address, including the message content of the received message (operation 222). For example, if the message directed to the address "recruiting@domain1.xxy" contains the text: "I'minterested inthis opportunity!", then the system generates a message directed to the target address ABC@domain1.xxy, including the text: "I'minterested in this opportunity!".
[0067] According to one or more embodiments, the system identifies contextual data associated with a message. For example, the system may identify a user associated with an external address based on the external address ggpyz@domain3.xxy. The system may identify documents previously submitted by the user, such as a resume, employment cover letter, or application. The system may identify employee-generated data, such as customer support tickets, notes about qualifications or interviews, or any other employee-generated data stored in association with the user. The system may include the contextual data with the generated message. For example, the system may include the document as an attachment to the message. Additionally or alternatively, the system may include a hyperlink in the content of the message that directs the employee to contextual data, such as a previously submitted application.
[0068] According to one embodiment, the system replaces the external address with the proxy address in messages to the target address (operation 224). For example, an employee accessing an email mailbox associated with the address ABC@domain1.xxy will see messages from the proxy address recruiting@domain1.xxy.
[0069] The system may modify the content of the message to include identification information associated with the external address (operation 226). The identification information may include, for example, the external email address, the name of a user associated with the external email address, and matters associated with the user. According to an example embodiment, if the employee replies to the message, such as by selecting a "reply" messaging function, the system may identify the external address associated with the message, even if the address in the "from:" field of the digital message is a proxy address. In other words, both the employee and the external user may reply to a message from a proxy address. In each case, the system generates a replacement message directed to a specific target address (e.g., an employee address or an address associated with the external user).
[0070] According to one or more embodiments, the system includes a file or data link associated with an external email address. For example, when a job applicant responds to a message, the system can modify the response to include a link to the applicant's profile associated with the external address. Additionally or alternatively, the system can attach a data file (such as a resume in the case of a job applicant) to the message before sending the message to the target user.
[0071] exist Figure 2B In the example, the dashed lines associated with operations 224 and 226 indicate that the system may alternatively not perform a particular operation. In particular, according to an alternative embodiment, the system may generate a message to the target address while leaving the external address in the "from:" field of the message.
[0072] After generating at least a message directed to the target address, the system transmits the message to the target address (operation 228).
[0073] like Figure 2A and Figure 2B As described in , a system manages digital messages transmitted to and from a proxy mailbox. The system replaces the source address of an outgoing message with a proxy address. An external user receiving the message sees the message from the proxy address rather than from the address of a specific user. The system analyzes the message received at the proxy mailbox to generate a message to a target address associated with a specific user. The system also identifies context data associated with the external user based on digital message data included in the received message and provides the context data to an internal user associated with the target address.
[0074] 4. Analyze digital messages to agent mailboxes to identify multiple recipients
[0075] Figure 3
[0013] Illustrated is an example set of operations for identifying a recipient of a digital message to a proxy mailbox in accordance with one or more embodiments. Figure 3 One or more operations illustrated in FIG. 2 may be modified, rearranged, or omitted altogether. Accordingly, the specific order of operations illustrated in FIG. 2 should not be interpreted as limiting the scope of one or more embodiments.
[0076] The system receives a first message from a source address (operation 302). The message is directed to a first destination address and a second destination address. For example, a user within a company ("internal user") can generate an email to an external user and copy (cc) another employee of the company in the message.
[0077] The system generates a second message from the proxy address to at least the first destination address, including the content of the original message (operation 304). Figure 2A As discussed, if a message is received from the address ABC@domain1.xxy, then the system replaces the address with the proxy address proxy@domain1.xxy. According to one embodiment, the system replaces the source address in the message to both the first destination address and the second destination address with the proxy address. According to one or more alternative embodiments, the system may determine whether to replace the source address with the proxy address for each destination address associated with the digital message. For example, the system may analyze the domains of multiple destination addresses associated with the digital message. If a domain is the same as the source address, then the system may avoid replacing the source address with the proxy address. In other words, if the destination address is within the same organization as the sending address (and therefore has the same domain), then the system does not replace the sending address with the proxy address. If the domain of the destination address is different from the domain of the source address, then the system replaces the source address with the proxy address. Accordingly, any address outside of a particular organization can see the proxy address, rather than the employee's personal address. In Figure 3 In the example embodiment illustrated in , the system determines that the second message should be addressed to both the first destination address and the second destination address.
[0078] The system transmits a second message to the first destination address and the second destination address (operation 306).
[0079] The system receives a third message directed to the proxy address from the first destination address (operation 308). Figure 2A As discussed, the message may be a reply to a message sent from the proxy address.
[0080] The system analyzes the third message to perform contextual routing on the third message (operation 310). Figure 2B As discussed, the system may analyze content within the message text, content within a subject field of the message, and / or metadata associated with the message to determine a target address to which to route the third message.
[0081] exist Figure 3 In the example embodiment illustrated in , the system determines that the third message is a reply to the second message. The system further determines that the second message corresponds to the first message addressed to the first destination address and the second destination address.
[0082] Accordingly, the system generates a fourth message directed to the source address (operation 312). The system includes the content of the third message in the fourth message.
[0083] The system further determines that the third message does not include the second destination address as a destination address for the third message. Based on determining that (a) the third message is associated with the first message, and (b) the third message does not include the second address as a destination address, the system determines whether to include the second destination address as a destination for the fourth message.
[0084] The system may apply specific rules to determine whether to include the second destination address as a destination for the fourth message. According to one embodiment, the rules may specify that if the second message includes both (a) the first destination address and (b) the second destination address in the "to:" or "cc:" field, then any response from the first destination address will be transmitted to the second destination address, even if the response does not include the second destination address in the destination address of the message. According to another embodiment, the rules may specify that any message directed from the proxy address to the source address must also be transmitted to the second destination address. Alternatively, the rules may specify that messages directed to the proxy address that do not include the second destination address are not sent to the second destination address, even if these messages are replies to an initial message that includes the second destination address as the destination of the message. According to an example embodiment, the rules for determining whether to send a "reply" type message to an additional address other than the originating address can be configured by a user and stored by the system.
[0085] According to one or more embodiments, in addition to identifying users included in the initial outbound message, the system may also identify users who may have contributed to the conversation and / or identify users that the system determines should be copied in the conversation based on the inclusion criteria. For example, a rule may implement contextual routing of any message containing the matter ID "ZZYY11" to a specific address by specifying that the message should be sent to the specific address along with any other identified messages.
[0086] exist Figure 3In the example embodiment illustrated in , the system applies a rule that specifies that if the second message includes both (a) a first destination address and (b) a second destination address in the "to:" or "cc:" fields, then any response from the first destination address will be transmitted to the second destination address, even if the response does not include the second destination address in the destination address of the message. Accordingly, when generating the fourth message in operation 312, the system includes the second destination address as the destination of the fourth message.
[0087] The system transmits a fourth message to the source address and the second destination address (operation 314).
[0088] 5. Example Embodiments
[0089] For the sake of clarity, a detailed example is described below. The components and / or operations described below should be understood as a specific example, which may not be applicable to certain embodiments. Accordingly, the components and / or operations described below should not be interpreted as limiting the scope of any claim.
[0090] Figure 4 The recruitment platform 402 is illustrated as utilizing an email manager 404 to transmit and receive emails. The recruitment application transmits an email to the candidate (operation 408). The recruitment application includes an email generator that generates an automated email associated with an employment opportunity that matches the candidate's qualifications. The automated email generator generates the email. The email manager 404 assigns a proxy email address "careers@vision.xyz" as the source email address of the email (operation 410). Figure 4 In the example embodiment illustrated in , the email generator accesses pre-stored messages to send to candidates without requiring the recruiter to type in the message content. For example, the recruiter may be shown an interface that includes a group of applicants that appear to meet the preliminary qualifications for a particular job posting. The recruiter may select three applicants. The email generator may automatically generate messages to send to the three applicants without further input from the recruiter, requesting additional information from the applicants to proceed to the next stage of the interview process. As another example, the email generator may match the requirements of a newly posted position with applicant profiles stored in a recruitment platform. Based on detecting a potential match, the email generator may generate an email to the potential candidate informing them of the job posting and providing a link where the potential candidate can apply for the job posting.
[0091] In addition to the automated email generator, recruiters can also generate emails using the recruiting platform 402. The email manager 404 replaces the source email address from the sender's email address to a proxy email address (eg, from "John Johnson@vision.xyz" to "careers@vision.xyz").
[0092] The candidate 406 replies to the email from the recruitment application (operation 412). Since the candidate's email is a reply type email, the email is directed to the agent mailbox "careers@vision.xyz".
[0093] Email manager 404 receives the reply message and uses context information associated with the reply message to identify a recruiter associated with the reply message (operation 414). For example, a recruiting company may have three recruiters. Each recruiter may be associated with a specific employment opportunity and / or a specific candidate. The system analyzes message data (such as content within the email or metadata associated with the email) to identify a specific recruiter. The content may include: a job posting number associated with a specific recruiter, an applicant name associated with a specific recruiter, or a message identification (ID) number associated with the source message to which candidate 406 is replying. The system transmits the reply message to the email inbox of the specific recruiter (operation 416).
[0094] The system also identifies contextual data associated with the candidate and / or employment opportunities that the candidate has expressed interest in. For example, the system may include in an email to a recruiter a resume and a list of previous and / or pending employment opportunities to which the candidate has applied.
[0095] The recruiter responds to the candidate's reply email (operation 418). For example, the recruiter may request an updated resume, cover letter, or work product to complete an application for an employment opportunity. The system receives an email generated by the recruiter. Based on predefined settings, the system transmits the recruiter's email message to the candidate without changing the sender email to a proxy address and without removing the recruiter's name from the email (operation 420). For example, the system may detect that the recruiter selected a radio icon for generating an email message in the graphical user interface, indicating that the recruiter wants their email address to remain visible to the candidate 406. Additionally or alternatively, the system may apply predefined rules that specify when to replace the recruiter's email address with a proxy email address and when not to replace the recruiter's email address. The rules may specify that when the recruiter is replying to the candidate's email, the system should not replace the recruiter's email address with a proxy email address.
[0096] 6. Computer Networks and Cloud Networks
[0097] In one or more embodiments, a computer network provides connectivity between a set of nodes. The nodes may be local to each other and / or remote from each other. The nodes are connected by a set of links. Examples of links include coaxial cables, unshielded twisted wires, copper cables, optical fibers, and virtual links.
[0098] A subset of nodes implements a computer network. Examples of such nodes include switches, routers, firewalls, and network address translators (NATs). Another subset of nodes uses a computer network. Such nodes (also referred to as "hosts") can execute client processes and / or server processes. A client process makes a request for a computing service (such as the execution of a particular application and / or the storage of a particular amount of data). The server process responds by performing the requested service and / or returning corresponding data.
[0099] A computer network may be a physical network, comprising physical nodes connected by physical links. A physical node is any digital device. A physical node may be a function-specific hardware device, such as a hardware switch, a hardware router, a hardware firewall, and a hardware NAT. Additionally or alternatively, a physical node may be a general-purpose machine configured to run various virtual machines and / or applications that perform corresponding functions. A physical link is a physical medium that connects two or more physical nodes. Examples of links include coaxial cables, unshielded twisted wires, copper cables, and optical fibers.
[0100] A computer network may be an overlay network. An overlay network is a logical network implemented on top of another network (such as a physical network). Each node in the overlay network corresponds to a corresponding node in the underlying network. Therefore, each node in the overlay network is associated with both an overlay address (to address the overlay node) and an underlying address (to address the underlying node that implements the overlay node). An overlay node may be a digital device and / or a software process (such as a virtual machine, an application instance, or a thread). The link connecting the overlay nodes is implemented as a tunnel through the underlying network. The overlay nodes at either end of the tunnel treat the underlying multi-hop path between them as a single logical link. Tunneling is performed by encapsulation and decapsulation.
[0101] In an embodiment, the client may be local to the computer network and / or remote from the computer network. The client may access the computer network through other computer networks, such as a private network or the Internet. The client may transmit the request to the computer network using a communication protocol, such as the Hypertext Transfer Protocol (HTTP). The request is transmitted through an interface, such as a client interface, such as a web browser, a program interface, or an application programming interface (API).
[0102] In an embodiment, a computer network provides connectivity between a client and network resources. Network resources include hardware and / or software configured to execute a server process. Examples of network resources include processors, data storage devices, virtual machines, containers, and / or software applications. Network resources are shared between multiple clients. Clients request computing services from a computer network independently of each other. Network resources are dynamically allocated to requests and / or clients on an on-demand basis. The network resources allocated to each request and / or client can be scaled up or down based on, for example, (a) computing services requested by a specific client, (b) aggregate computing services requested by a specific tenant, and / or (c) the requested aggregate computing services of the computer network. Such a computer network can be referred to as a "cloud network."
[0103] In an embodiment, a service provider provides a cloud network to one or more end users. The cloud network can implement various service models, including but not limited to software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS). In SaaS, the service provider provides the end user with the ability to use the service provider's applications that are being executed on network resources. In PaaS, the service provider provides the end user with the ability to deploy customized applications on network resources. Customized applications can be created using programming languages, libraries, services, and tools supported by the service provider. In IaaS, the service provider provides the end user with the ability to supply processing, storage, network, and other basic computing resources provided by network resources. Any arbitrary application, including an operating system, can be deployed on network resources.
[0104] In an embodiment, a computer network can implement various deployment models, including but not limited to private cloud, public cloud and hybrid cloud. In a private cloud, network resources are supplied to a specific group of one or more entities (the term "entity" as used herein refers to a company, organization, person or other entity) for exclusive use. Network resources can be local to a specific group of entities and / or away from a specific group of entities. In a public cloud, cloud resources are supplied to multiple entities (also referred to as "tenants" or "customers") that are independent of each other. A computer network and its network resources are accessed by clients corresponding to different tenants. Such a computer network can be referred to as a "multi-tenant computer network". Several tenants can use the same specific network resources at different times and / or at the same time. Network resources can be local to a tenant's place and / or away from a tenant's place. In a hybrid cloud, a computer network includes a private cloud and a public cloud. The interface between a private cloud and a public cloud allows portability of data and applications. Data stored at a private cloud and data stored at a public cloud can be exchanged through an interface. Applications implemented at a private cloud and applications implemented at a public cloud can have dependencies on each other. Calls from an application at the private cloud to an application at the public cloud (and vice versa) may be performed through the interface.
[0105] In an embodiment, the tenants of a multi-tenant computer network are independent of each other. For example, the business or operation of one tenant can be separated from the business or operation of another tenant. Different tenants may require different network requirements for the computer network. Examples of network requirements include processing speed, data storage capacity, security requirements, performance requirements, throughput requirements, latency requirements, elasticity requirements, quality of service (QoS) requirements, tenant isolation and / or consistency. The same computer network may need to implement different network requirements required by different tenants.
[0106] In one or more embodiments, in a multi-tenant computer network, tenant isolation is implemented to ensure that applications and / or data of different tenants are not shared with each other. Various tenant isolation methods can be used.
[0107] In an embodiment, each tenant is associated with a tenant ID. Each network resource of the multi-tenant computer network is marked with the tenant ID. Only when the tenant and the specific network resource are associated with the same tenant ID, the tenant is allowed to access the specific network resource.
[0108] In an embodiment, each tenant is associated with a tenant ID. Each application implemented by the computer network is tagged with the tenant ID. Additionally or alternatively, each data structure and / or data set stored by the computer network is tagged with the tenant ID. A tenant is allowed to access a particular application, data structure, and / or data set only if the tenant and the particular application, data structure, and / or data set are associated with the same tenant ID.
[0109] As an example, each database implemented by a multi-tenant computer network can be marked with a tenant ID. Only the tenant associated with the corresponding tenant ID can access the data of a particular database. As another example, each entry in a database implemented by a multi-tenant computer network can be marked with a tenant ID. Only the tenant associated with the corresponding tenant ID can access the data of a particular entry. However, a database can be shared by multiple tenants.
[0110] In an embodiment, the subscription list indicates which tenants have authorization to access which applications. For each application, a list of tenant IDs of tenants authorized to access the application is stored. Only when the tenant ID of a tenant is included in the subscription list corresponding to a specific application, the tenant is allowed to access the specific application.
[0111] In an embodiment, network resources corresponding to different tenants (such as digital devices, virtual machines, application instances, and threads) are isolated to tenant-specific overlay networks maintained by a multi-tenant computer network. As an example, packets from any source device in a tenant overlay network can only be transmitted to other devices within the same tenant overlay network. Encapsulation tunnels are used to prohibit any transmission from a source device on a tenant overlay network to devices in other tenant overlay networks. Specifically, a packet received from a source device is encapsulated in an outer packet. The outer packet is transmitted from a first encapsulation tunnel endpoint (communicating with a source device in the tenant overlay network) to a second encapsulation tunnel endpoint (communicating with a destination device in the tenant overlay network). The second encapsulation tunnel endpoint decapsulates the outer packet to obtain the original packet transmitted by the source device. The original packet is transmitted from the second encapsulation tunnel endpoint to a destination device in the same specific overlay network.
[0112] 7. Miscellaneous; Extensions
[0113] Embodiments are directed to a system having one or more devices including a hardware processor and configured to perform any of the operations described herein and / or recited in any of the following claims.
[0114] In an embodiment, a non-transitory computer-readable storage medium includes instructions that, when executed by one or more hardware processors, cause performance of any of the operations described herein and / or recited in any of the claims.
[0115] According to one or more embodiments, any combination of the features and functions described herein may be used. In the foregoing description, embodiments have been described with reference to many specific details that may vary from implementation to implementation. Accordingly, this description and the accompanying drawings should be viewed in an illustrative rather than a restrictive sense. The only and exclusive indication of the scope of the present invention and what the applicant intends to be the scope of the present invention are the literal and equivalent ranges of the proposed claims in the specific form of the set of claims proposed by this application, including any subsequent amendments.
[0116] 8. Hardware Overview
[0117] According to one embodiment, the technology described herein for managing the transmission of digital messages via a proxy mailbox is implemented by one or more special-purpose computing devices. The special-purpose computing device may be hardwired to perform the present technology, or may include a digital electronic device (such as one or more application-specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or network processing units (NPUs)) that is permanently programmed to perform the present technology, or may include one or more general-purpose hardware processors that are programmed to perform the present technology according to program instructions in firmware, memory, other storage devices, or combinations. Such a special-purpose computing device may also combine customized hard-wired logic, ASICs, FPGAs, or NPUs with customized programming to implement the present technology. The special-purpose computing device may be a desktop computer system, a portable computer system, a handheld device, a networking device, or any other device that combines hard-wiring and / or program logic to implement the present technology.
[0118] For example, Figure 5 is a block diagram illustrating a computer system 500 upon which embodiments of the present invention may be implemented. Computer system 500 includes a bus 502 or other communication mechanism for communicating information and a hardware processor 504 coupled to bus 502 for processing information. Hardware processor 504 may be, for example, a general purpose microprocessor.
[0119] The computer system 500 also includes a main memory 506, such as a random access memory (RAM) or other dynamic storage device, coupled to the bus 502 for storing information and instructions to be executed by the processor 504. The main memory 506 may also be used to store temporary variables or other intermediate information during execution of instructions to be executed by the processor 504. When such instructions are stored in a non-transitory storage medium accessible to the processor 504, such instructions cause the computer system 500 to become a special-purpose machine customized to perform the operations specified in the instructions.
[0120] Computer system 500 also includes a read only memory (ROM) 508 or other static storage device coupled to bus 502 for storing static information and instructions for processor 504. A storage device 510, such as a magnetic or optical disk, is provided and coupled to bus 502 for storing information and instructions.
[0121] The computer system 500 may be coupled via the bus 502 to a display 512, such as a cathode ray tube (CRT), for displaying information to a computer user. An input device 514, including alphanumeric and other keys, is coupled to the bus 502 for communicating information and command selections to the processor 504. Another type of user input device is a cursor control 516, such as a mouse, trackball, or cursor direction keys, for communicating directional information and command selections to the processor 504 and for controlling cursor movement on the display 512. Such input devices typically have two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), which allows the device to specify a position in a plane.
[0122] Computer system 500 may implement the techniques described herein using custom hardwired logic, one or more ASICs or FPGAs, firmware, and / or program logic that, in combination with the computer system, makes computer system 500 a special purpose machine or programs computer system 500 to be a special purpose machine. According to one embodiment, computer system 500 performs the techniques herein in response to processor 504 executing one or more sequences of one or more instructions contained in main memory 506. Such instructions may be read into main memory 506 from another storage medium, such as storage device 510. Execution of the sequences of instructions contained in main memory 506 causes processor 504 to perform the process steps described herein. In alternative embodiments, hardwired circuitry may be used in place of or in combination with software instructions.
[0123] The term "storage medium" as used herein refers to any non-transitory medium that stores data and / or instructions that cause a machine to operate in a particular manner. Such storage media may include non-volatile media and / or volatile media. For example, non-volatile media include optical or magnetic disks, such as storage device 510. Volatile media include dynamic memory, such as main memory 506. For example, common forms of storage media include floppy disks, flexible disks, hard disks, solid-state drives, tapes or any other magnetic data storage media, CD-ROMs, any other optical data storage media, any physical media with hole patterns, RAM, PROM and EPROM, FLASH-EPROM, NVRAM, any other memory chip or cassette, content addressable memory (CAM) and ternary content addressable memory (TCAM).
[0124] Storage media are distinct from but may be used in conjunction with transmission media. Transmission media participate in the transfer of information between storage media. For example, transmission media include coaxial cables, copper wire, and optical fiber, including the wires that comprise bus 502. Transmission media may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
[0125] Carrying one or more sequences of one or more instructions to the processor 504 for execution may involve various forms of media. For example, the instructions may initially be carried on a disk or solid-state drive of a remote computer. The remote computer may load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to the computer system 500 may receive the data on the telephone line and use an infrared transmitter to convert the data into an infrared signal. An infrared detector may receive the data carried in the infrared signal, and appropriate circuitry may place the data on the bus 502. The bus 502 carries the data to the main memory 506, from which the processor 504 retrieves and executes the instructions. The instructions received by the main memory 506 may optionally be stored on the storage device 510 before or after execution by the processor 504.
[0126] Computer system 500 also includes a communication interface 518 coupled to bus 502. Communication interface 518 provides bidirectional data communication coupled to network link 520, which is connected to local network 522. For example, communication interface 518 can be an integrated services digital network (ISDN) card, a cable modem, a satellite modem, or a modem for providing a data communication connection with a corresponding type of telephone line. As another example, communication interface 518 can be a LAN card for providing a data communication connection with a compatible local area network (LAN). Wireless links can also be implemented. In any such implementation, communication interface 518 sends and receives electrical signals, electromagnetic signals, or optical signals that carry digital data streams representing various types of information.
[0127] The network link 520 typically provides data communication to other data devices through one or more networks. For example, the network link 520 can provide a connection to a host computer 524 or to data equipment operated by an Internet Service Provider (ISP) 526 through a local network 522. The ISP 526 in turn provides data communication services through a worldwide packet data communication network now commonly referred to as the "Internet" 528. Both the local network 522 and the Internet 528 use electrical, electromagnetic, or optical signals that carry digital data streams. The signals through the various networks and the signals on the network link 520 and through the communication interface 518 are example forms of transmission media that carry the digital data to and from the computer system 500.
[0128] Computer system 500 can send messages and receive data, including program code, through the network(s), network link 520, and communication interface 518. In the Internet example, server 530 can transmit the requested code of an application program through Internet 528, ISP 526, local network 522, and communication interface 518.
[0129] The received code may be executed by processor 504 as it is received, and / or stored in storage device 510 or other non-volatile storage for later execution.
[0130] In the foregoing description, embodiments of the present invention have been described with reference to many specific details that may vary from implementation to implementation. Therefore, the description and drawings should be viewed in an illustrative rather than a restrictive sense. The sole and exclusive indication of the scope of the present invention and what the applicant intends to be the scope of the present invention is the literal and equivalent range of the claims set forth in the specific form of the set of claims set forth by this application, including any subsequent amendments.
Claims
1. A non-transitory computer readable medium comprising instructions that, when executed by one or more hardware processors, cause execution of operations comprising: receiving, by the digital message management application, a first message directed to a second address from a first address, the first message including message content; generating, by the digital message management application, a second message, the second message including the message content of the first message, the second message (a) identifying the proxy address as a source address of the second message, the proxy address being associated with the plurality of source addresses, and (b) identifying the second address as a destination address of the second message; transmitting, by the digital message management application, a second message from the proxy address to the second address; receiving, by the digital message management application, from the second address a third message corresponding to a response to the second message, the third message being directed to the proxy address; analyzing, by the digital message management application, the third message to identify a correlation between the third message and the first address; generating, by the digital message management application, a fourth message including the message content of the third message, the fourth message identifying the first address as a destination address for the fourth message; as well as A fourth message is transmitted by the digital message management application to the first address.
2. The non-transitory computer readable medium of claim 1, wherein the operations further comprise: identifying context information corresponding to (a) a user corresponding to the second address and / or (b) a third message; as well as The context information is transmitted together with the fourth message to the first address.
3. The non-transitory computer-readable medium of claim 2, wherein the context information comprises at least one of: User profiles; Employment data associated with the user; and Previous communications between the first address and the second address.
4. The non-transitory computer readable medium of claim 1, generating, by the digital message management application, the second message comprises: replacing the second address with the proxy address as the destination address of the second message; Metadata is stored in the second message, the metadata identifying the first address as a source of the first message.
5. The non-transitory computer-readable medium of claim 1, wherein the first message, the second message, the third message, and the fourth message are electronic mail (email) messages.
6. The non-transitory computer-readable medium of claim 1, wherein analyzing the third message to identify a correlation between the third message and the first address comprises analyzing metadata in the third message, the metadata comprising information identifying the first address.
7. The non-transitory computer-readable medium of claim 1 , wherein generating the fourth message comprises: assigning the proxy address as a source address of the fourth message; as well as The content of the third message is modified to include identification information associated with the second address.
8. The non-transitory computer readable medium of claim 1, wherein the operations further comprise: receiving, by the digital message management application, from the second address a fifth message directed to the proxy address; analyzing the fifth message to identify a correlation between the fifth message and the first address; In response to determining that the fifth message does not satisfy the forwarding criteria for forwarding the fifth message to the first address: Forwarding the fifth message to the first address is avoided.
9. The non-transitory computer readable medium of claim 1, wherein the operations further comprise: receiving, by the digital message management application, a fifth message directed to the second address from the third address, the fifth message including fifth message content; generating, by the digital message management application, a sixth message including the fifth message content of the fifth message, the sixth message (a) identifying the proxy address as a source address of the sixth message, and (b) identifying the second address as a destination address of the sixth message; and A sixth message is transmitted by the digital message management application from the proxy address to the second address.
10. The non-transitory computer readable medium of claim 9, wherein the operations further comprise: receiving, by the digital message management application, from the second address a seventh message corresponding to a response to the sixth message, the seventh message being directed to the proxy address, and the seventh message including seventh message content; analyzing, by the digital message management application, the seventh message to identify a correlation between the seventh message and the third address; generating, by the digital message management application, an eighth message including the seventh message content of the seventh message, the eighth message identifying the third address as a destination address of the eighth message; and An eighth message is transmitted by the digital message management application to the third address.
11. A non-transitory computer readable medium comprising instructions that, when executed by one or more hardware processors, cause execution of operations comprising: receiving, by the digital message management application, a first message directed to a second address and a third address from a first address, the first message including first message content; generating, by the digital message management application, a second message including the content of the first message, the second message (a) identifying the proxy address as a source address of the second message, the proxy address being associated with the plurality of source addresses, and (b) identifying the second address as a destination address of the second message; transmitting, by the digital message management application, a second message from the proxy address to the second address; receiving, by the digital message management application, from the second address a third message corresponding to a response to the second message, the third message being directed to the proxy address; analyzing the third message to identify a correlation between the third message and the first address and the third address; In response to (a) identifying a correlation between the second message and the first address and the third address and (b) determining that the second message does not include the third address as a destination address: adding the third address as a destination for the second message; A second message is transmitted by the digital message management application to the first address and the third address.
12. The non-transitory computer-readable medium of claim 15, wherein the second message further identifies a third address as a destination address for the second message.
13. The non-transitory computer readable medium of claim 15, wherein the digital message management application transmits the second message from the proxy address to the second address and the third address.
14. The non-transitory computer readable medium of claim 15, wherein the operations further comprise: analyzing address groups associated with the source address; Wherein based on determining that the second destination address is located in the address group associated with the source address, the second destination address is added as a destination of the second message.
15. A method comprising the operations as claimed in any one of claims 1 to 14.
16. A system comprising at least one device, the at least one device comprising a hardware processor, the system being configured to perform the operations of any one of claims 1-14.
17. A system comprising means for performing the operations of any one of claims 1-14.