The present invention relates to techniques for classifying electronic mail messages.
As users receive increasingly larger numbers of electronic mail messages, organizing these electronic mail messages is becoming an increasingly difficult task. One solution to this problem is to create rules in an electronic mail client to automatically categorize electronic mail messages as they are received. Unfortunately, these rules can be burdensome to create and to maintain.
Some embodiments of the present invention provide a system for classifying an electronic mail message. In this system, type tags can be included in an electronic mail message which can be used to classify the electronic mail message. Furthermore, specified actions can be performed based on the type tags included in the electronic mail message.
Some embodiments of the present invention provide a technique to generate an electronic mail message. In these embodiments, the type tags can be included with the contents of the electronic mail message. For example, the type tags can be included in a header field, the subject field, and/or the body of the electronic mail message.
Some embodiments of the present invention provide a technique for replying to an electronic mail message which includes type tags. In these embodiments, type tags can be included in the reply to the electronic mail message based on the type tags included in the electronic mail message.
The following description is presented to enable any person skilled in the art to make and use the invention, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present invention. Thus, the present invention is not limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
The data structures and code described in this detailed description are typically stored on a computer-readable storage medium, which may be any device or medium that can store code and/or data for use by a computer system. The computer-readable storage medium includes, but is not limited to, volatile memory, non-volatile memory, magnetic and optical storage devices such as disk drives, magnetic tape, CDs (compact discs), DVDs (digital versatile discs or digital video discs), or other media capable of storing computer-readable media now known or later developed.
The methods and processes described in the detailed description can be embodied as code, data structures, and/or data, which can be stored on a computer-readable storage medium as described above. When a computer system reads and executes the code and/or data stored on the computer-readable storage medium, the computer system performs the methods and processes embodied as code, data structures, and/or data that are stored within the computer-readable storage medium. Furthermore, the methods and processes described below can be included in hardware modules. For example, the hardware modules can include, but are not limited to, application-specific integrated circuit (ASIC) chips, field-programmable gate arrays (FPGAs), and other programmable-logic devices now known or later developed. When the hardware modules are activated, the hardware modules perform the methods and processes included within the hardware modules.
Some embodiments of the present invention allow a user to associate type tags with an electronic mail message when the user creates the electronic mail message. In these embodiments, an electronic mail application allows a user to select a predefined type tag or to create a new type tag. If a new type tag is created, the new type tag can be added to a library of type tags. In some embodiments, the type tags are included in a header field of the electronic mail message. For example, the type tags can be included within an X-Header field for the electronic mail message.
In some embodiments, type tags that are included in received electronic mail messages are added to a library of type tags if they are not already included in the library of type tags. In some embodiments, the type tags are automatically added to the library of type tags. In other embodiments, the user is notified that new type tags are associated with an electronic mail message and is prompted to add the type tags to the library of type tags. Furthermore, the user can specify actions that are associated with a given type tag, which can also be stored within the library of type tags so that the next time the given type tag is received, the specified actions are performed. For example, if an “invoice” type tag is received, the specified actions can include moving the message to an “invoice” folder. In some embodiments, if a user does not add a new type tag to the library of type tags, electronic mail messages which include that type tag can be left in the inbox. In some embodiments, the type tag can be changed for a reply to or a forward of an electronic mail message which includes type tags.
Processor 101 can generally include any type of processor, including, but not limited to, a microprocessor, a mainframe computer, a digital signal processor, a personal organizer, a device controller and a computational engine within an appliance. Memory 102 can include any type of memory, including but not limited to, dynamic random access memory (DRAM), static random access memory (SRAM), flash memory, read only memory (ROM), and any other type of memory now known or later developed. Storage device 103 can include any type of non-volatile storage device that can be coupled to a computer system. This includes, but is not limited to, magnetic, optical, and magneto-optical storage devices, as well as storage devices based on flash memory and/or battery-backed up memory.
In some embodiments of the present invention, electronic mail module 104 is separate from computer system 100. Note that electronic mail module 104 is described in more detail below with reference to
In some embodiments, one or more of receiving module 105, determining module 106, and execution module 107 are included in one or more integrated circuit (IC) chips. For example, these IC chips can include, but are not limited to, application-specific integrated circuit (ASIC) chips, field-programmable gate arrays (FPGAs), and other programmable-logic devices now known or later developed.
Note that the discussion below generally refers to “a system,” which can include, but is not limited to, a computer system, a server, a client computer system, a cluster of computer systems, a PDA, a mobile device, a component within a plurality of components, and a module within a software application.
If one or more type tags are included in the electronic mail message (step 204, yes), the system performs one or more specified actions (step 206). Otherwise (step 204, no), the system prompts a user to classify the electronic mail message using one or more specified type tags (step 208). Note that step 208 is described in more detail with reference to
In some embodiments, the one or more specified actions include one or more of: adding the one or more type tags to a library of type tags; tagging the electronic mail message based on the one or more type tags; categorizing the electronic mail message based on the one or more type tags; moving the electronic mail message to a folder associated with the one or more type tags; and automatically generating a response to the electronic mail message based on the one or more type tags. For example, if an incoming electronic mail message includes an “invoice” type tag, the system can classify the incoming electronic mail message as an invoice and/or move the incoming electronic mail message to an “invoice” folder. Similarly, if an incoming electronic mail message includes an “order” type tag, in response to the incoming electronic mail message, the system can automatically generate and send a response to the incoming electronic mail message which includes an “order confirmation” type tag.
In some embodiments, specified actions can be associated with type tags.
In some embodiments, the electronic mail message is received at one or more of: an electronic mail client; a webmail client; an Internet-enabled application; and a financial application.
The system then receives one or more type tags to be associated with the contents of the electronic mail message (step 502), wherein the one or more type tags are used to classify the electronic mail message. In some embodiments, prior to receiving the one or more type tags to be associated with the contents of the electronic mail message, the system determines the one or more type tags to be associated with the electronic mail message.
Next, the system then formats the electronic mail message so that the electronic mail message includes the contents of the electronic mail message and the one or more type tags (step 504). The system then sends the electronic mail message to one or more recipients (step 506).
If the one or more specified type tags are not to be included in the reply to the electronic mail message (step 606, no), the system does not include type tags in the reply to the electronic mail message (step 610).
Returning to step 602, if the electronic mail message does not include one or more type tags (step 602, no), the system prompts the user to classify the reply to the electronic mail message using one or more specified type tags (step 612). The system then determines whether the user indicated that one or more specified type tags are to be included in the reply to the electronic mail message (step 614). If so (step 616, yes), the system includes the one or more specified type tags in the reply to the electronic mail message (step 618). Otherwise, the system does not include type tags in the reply to the electronic mail message (step 610).
Note that the process described in
The foregoing descriptions of embodiments of the present invention have been presented only for purposes of illustration and description. They are not intended to be exhaustive or to limit the present invention to the forms disclosed. Accordingly, many modifications and variations will be apparent to practitioners skilled in the art. Additionally, the above disclosure is not intended to limit the present invention. The scope of the present invention is defined by the appended claims.