1. Field of the Invention
This invention pertains to the arts of electronic message and e-mail transmission and reception, and especially to the arts of automatic address generation for e-mail composers and readers for replying to e-mail messages which have been chain-forwarded.
2. Description of the Related Art
Electronic mail and electronic messaging have become key and integral to everyday life, both in personal lives and business lives, for millions of users worldwide. The speed and accuracy with which electronic messages and e-mails are delivered is unrivaled by other forms of messaging, such as paper mail, overnight express mail, facsimile, and voice messaging.
Prior to the widespread proliferation of the Internet and Internet-based e-mail, there were many proprietary formats of electronic messaging systems, such as IBM""s Lotus Notes system, Novel""s DaVinci system, and others.
However, due to global acceptance and adoption of the Internet, the Internet""s e-mail protocol has become the most common electronic messaging protocol in use today. The Simple Mail Transfer Protocol (xe2x80x9cSMTPxe2x80x9d) provides for a quick, error-free and robust method for transferring electronic messages from one e-mail server to another. SMTP is primarily based upon two standards proliferated by the Internet Architecture Board (xe2x80x9cIABxe2x80x9d), specifically RFC-821 xe2x80x9cSimple Mail Transfer Protocolxe2x80x9d and RFC-822 xe2x80x9cStandard for the format of ARPA Internet text messagesxe2x80x9d. These standards and protocols are well-known in the art. RFC-821 describes the protocol used for transferring electronic messages from one server to another, and RFC-822 describes a corresponding format for those electronic messages.
Turning to FIG. 1, the basic arrangement of client browser computer or client e-mail computers and web servers is shown. A client computer (1) may access a web-based e-mail server (5) via any computer network, such as the World Wide Web (3), or an Intranet (6) such as a LAN or WAN. This access may be made through a modem and a dial-up Internet Service Provider (xe2x80x9cISPxe2x80x9d), or through a xe2x80x9cdedicatedxe2x80x9d direct connection to the Internet. The client computer (1) is normally equipped with an e-mail composer and reader program, such as Quailcomm""s Eudora, Netscape""s Messenger, or Microsoft""s Outlook programs. These and many other widely available programs are compliant with the SMTP standards, and interoperate with e-mail servers over computer networks such as the World Wide Web.
Turning to FIG. 2, the arrangement (20) as defined by the RFC""s of a sender server (23) and a receiver server (25) using the SMTP protocol is shown. A user (21) may author a SMTP-compliant message and send that message to an e-mail sender server (23). Using a series of SMTP commands (24) which are communicated to a receiver SMTP server (25) via a computer network, the electronic message is transferred from the sender SMTP (23) to the receiver SMTP server (25).
The receiver SMTP (25) server typically stores the received electronic message within its file system (26) for later retrieval by the intended recipient. The addressing and routing scheme used by e-mail servers to transmit and route electronic messages to each other using of this protocol are well-known within the art, and are also defined in the public RFC documents of the IAB.
Eventually, the recipient uses his computer (28) to download the messages from the receiver server (25), and to read, reply, or forward the messages. His computer (28) is usually equipped with e-mail reading and authoring software, which may include an e-mail address book (27).
The generalized message format of an electronic message is shown in Table 1. An electronic message is typically divided into two portions, a header and a body. Within the header are multiple tags or fields which indicate the source and destination of the message and other useful information.
In the example generalized message format shown in Table 1, there is a xe2x80x9cReceivedxe2x80x9d header field, a xe2x80x9cFromxe2x80x9d header field, a xe2x80x9cReply-Toxe2x80x9d field, and a xe2x80x9cToxe2x80x9d field. These are also followed by a xe2x80x9cSubjectxe2x80x9d field and then finally by the text of the actual message. These fields are generated by the e-mail composer on the originator""s computer, and they are used by the various e-mail servers within the computer network to route the messages to the correct recipient.
As shown in Table 1, the xe2x80x9cReceived:xe2x80x9d message header field shows information regarding which server received the message and at what time of day it was received by the local server. The xe2x80x9cFromxe2x80x9d field in the message header shows the originator""s or the sender""s name and address. The xe2x80x9cReply-Toxe2x80x9d field shows the sender""s e-mail address for use in replying to the sender. The xe2x80x9cToxe2x80x9d field shows the intended recipient""s name and/or recipient""s e-mail address. And, the xe2x80x9cSubjectxe2x80x9d field shows a text string to be displayed when the e-mail is viewed among other e-mails in a mail box.
Most e-mail composer and reader programs allow messages to be forwarded to second, third, and subsequent recipients. For example, a sender may author an original message and send it to a first recipient. The first recipient may read that message, append comments to it and forward it to a second recipient. Table 2 shows a generalized message format for forwarded electronic messages which uses using a method of forwarding called xe2x80x9cinline contentxe2x80x9d.
This forwarded message format resembles the generalized message format of Table 1, especially in the initial message header, including the xe2x80x9creceivedxe2x80x9d field, xe2x80x9cfromxe2x80x9d, xe2x80x9creply-toxe2x80x9d, xe2x80x9ctoxe2x80x9d, and xe2x80x9csubjectxe2x80x9d fields. However, most programs modify the text contained in the xe2x80x9csubjectxe2x80x9d field to include an indication that this is a forwarded message, such as appending the letters xe2x80x9cFWDxe2x80x9d prior to the actual text of the originator""s subject line. Following this message header, the text of the comments authored by the first recipient and intended for the second recipient are given. Then, according to the inline forwarding method, a boundary tag is given which indicates the beginning of the actual forwarded message. Following the first boundary tag, another set of message header fields are shown which are the message header fields from the original message from the original sender of the message. These message fields are then followed by the text of the original message from the originator, and is concluded by a closing boundary tag.
Another method for forwarding an electronic message to another recipient is by xe2x80x9cattachingxe2x80x9d the original message to the new message. The SMTP protocol allows for files of all types to be xe2x80x9cattachedxe2x80x9d to an electronic message, and as such, one method for forwarding a message is to create a new message to the next recipient, and to attach the old message to this new message.
As shown in Table 3, the general format of a forwarded message as an attachment is seen.
This message begins similar to the message in Table 2 in that it is preceded by a new message header containing multiple header fields, including the xe2x80x9creceivedxe2x80x9d, xe2x80x9cfromxe2x80x9d, xe2x80x9creply-toxe2x80x9d, xe2x80x9ctoxe2x80x9d, xe2x80x9csubjectxe2x80x9d fields. However, in this case following the text of the comments written by the first recipient for the second recipient, there are special tags to indicate that there is attached file rather than the inline copy of the forwarded file. This may be the same type of tag that may be used to attach a data file or other type of file to the electronic message, but in this case the attached file is simply a text file which is actually the original message from the originator.
Thus, if one looks within that attached file, one will see that there is the original set of message header tags which indicate the originator""s name, the first recipient""s name (or the previous recipient""s name) and other useful information regarding the previous message.
A subsequent recipient may choose to forward the message to another recipient, thereby forming a chain-forwarded message which may have the original message forwarded through a combination of methods.
All of these message header fields are used for various functions of the e-mail reader and e-mail composer software. If a user wants to reply to the sender of a message he may simply click or select a xe2x80x9creplyxe2x80x9d function in response to which the composer will be invoked and will automatically address the message to the address indicated in the xe2x80x9creply-toxe2x80x9d field of the message. Also, the user may forward the message quite simply by clicking a xe2x80x9cforwardxe2x80x9d button (or otherwise invoking a forward function), which causes the composer to allow creation of a new messaging containing or attaching the first message, and giving the user the capability to enter the next recipient""s address and any comments he or she wishes to include.
Another useful function of common e-mail composers and readers available in the art today is that of an address book. An address book stores names and e-mail addresses of other users who are commonly communicate with the user. Most e-mail composers and readers also include automatic functions for adding a message sender""s address and information to an address book.
However, with the inline and attachment methods of forwarding electronic messages, addresses for the previous recipient""s and the originator of forwarded messages cannot be easily or automatically added to the address book, other than that of the most immediate previous recipient. Further, they cannot be automatically responded to or forwarded to as they are not currently indicated in the first group of message header fields of the forwarded message.
Thus, a user must resort to attempting to type manually each of the previous recipient""s e-mail addresses, if he knows them. For example, if a message is forwarded five times from an originator, the fifth recipient can automatically reply to the fourth recipient using the available automatic functions of current e-mail composers, however, he cannot easily reply to all four previous recipients and originator without manually retyping the addresses of each of those parties. Further, he cannot easily add any of these previous recipients and the originator to his address book, except for the fourth recipient.
A third method of forwarding e-mail messages is by xe2x80x9cquotingxe2x80x9d the actual message into the text of the new message intended for the next recipient. In this method, none of the previous header fields are forwarded to the next recipient. A simple line of text such as xe2x80x9cPrevious_recipient wrote:xe2x80x9d may be inserted above the quoted text, and the quoted text may be set apart such as using a character such as xe2x80x9c greater than xe2x80x9d or a blue bar in the left margin.
In this case, it is much more difficult for the recipient of a chain-forwarded message to reply to previous recipients because the information regarding the previous recipient""s addresses has been completely stripped from the forwarded message.
Therefore, there is a need in the art for a system and method which can automatically determine the list of chain recipient""s of a chain-forwarded electronic message. Further, there exists a need in the art for this system and method to be compatible with existing electronic messaging standards, to be realizable using existing electronic messaging client computer and server computer apparatus, and to be compatible with the multiple methods of forwarding messages available in the art today.