This is the first application filed for the present invention.
The invention relates generally to the field of electronic communications and particularly to a system and method for automatically responding to a message sent to a user in a personalized manner at an email server.
Electronic Mail (email) is commonplace in today's business environment. Many businesses run largely on email and are dependant on the effectiveness of email for achieving business goals. A typical email system comprises an email server responsible for handling the email of a plurality of user accounts and an email client used by a user to effectuate many email related tasks such as composing, sending, receiving and reading emails. Such email systems are well known in the art, examples of email servers include Microsoft® Exchange, Webmail, Novell® GroupWise® and Lotus® Domino®; examples of email clients include Microsoft® Outlook®, Webmail and Lotus® Notes®.
It is a well known feature of such email systems for a user to enable an auto-reply feature. An auto-reply feature provides for an email server to automatically send a reply email in response to a received email on a user's behalf. In this manner, while a user is not checking their email, a brief auto-reply email is sent in response to any emails received for the user so that the sender of the received email is notified of the inability of the user to respond. The auto-reply is sent from an email server allowing the user to power-off or otherwise disconnect their email client while away. The user is able to specify the text of the auto-reply email and is typically of the general form:
“Thank you for your email. Please note that I will be out of the office until 5 January. I will respond to your email at that time.”
Prior to commencing a period of not checking their email, a user typically enables the auto-reply feature by, for example, using an automatic response setup application of a desktop or internet based email client to turn on the auto-reply feature. Examples of such setup applications include the Out of Office Assistant in Microsoft® Outlook® and Vacation Response in Webmail. Each of these setup applications configures the email server responsible for handling the user's email to monitor and auto-reply to emails received for the user. Once the auto-reply feature has been enabled for the user, the email server automatically replies to all emails received for the user in the specified manner without input from the user.
Certain email systems allow limited customization of the specified auto-reply message.
For example Webmail allows a user to specify two auto-reply messages; a first auto-reply message to be sent as a default auto-reply and a second auto-reply message to be sent to all messages which were sent from a sender whose email address matches a certain domain (ie. All messages received from senders whose email address is from @company.com).
As another example, Microsoft® Outlook® allows a user to specify an unbounded number of auto-reply messages. Each of the auto-reply messages can be specified to be sent based on the properties of a received message. For example, if a user receives an email from a first sender a first auto-reply message is used to generate the auto-reply and if a user receives an email from a second sender a second auto-reply message is used. This may require the user to set up a separate auto-reply message for each person the user expects to receive an email from.
There also exist software applications known as auto responders. One example of such a software application is PromaSoft AutoResponder. AutoResponder runs on a user's computer and automatically replies to internet emails (POP, IMAP for example) based on configured options. One feature provided by AutoResponder is to enable a user to personalize an auto-reply message based on a specific string from a received message's message header. Such a string is of the general form:
From: “Joe Blo”<jblo@company.com>
AutoResponder is configured to parse this string in order to extract the portion or a sub-portion of the string indicative of the user's name. The extracted portion or sub-portion is included in the auto-reply message to customize the message. One issue which exists with this solution is that the sender's name (“Joe Blo” for example) may be specified by the sender apart from their email message. It is not uncommon for a user, or a user's IT department, to put something other than their name in this field, for example, their initials, or their names inverted (“Blo, Joe” for example). In such situations, an auto-reply may not be personalized properly as it may be difficult to determine which portion of the string “Blo, Joe” should be used in an auto-reply message.
Another method for personalizing auto-reply messages is disclosed in US Patent Application 2005/0066005 (the '005 application), filed 18 Sep. 2003, naming Gary B. Paul as inventor and entitled “Intelligent Email Detection and Auto Reply Email Technique”. The technique disclosed in the '005 application requires an initial, pre-formatted message to be received from a sender, the pre-formatted message containing the sender's name. The sender's name is accurately parsed from a received pre-formatted message and is stored in a database. Upon receiving farther messages from the sender, a database lookup is performed to retrieve the previously stored sender's name and an auto-reply message can be personalized using the retrieved user's name. One problem with this approach is that it is not practical to require a sender to send a pre-formatted message to potential recipients in order to have accurately personalized auto-reply messages.
There is a need for improved auto-reply systems and methods.
The accompanying drawings illustrate embodiments by way of example only. In the drawings:
Similar numerals may have been used throughout the figures to represent similar components.
An improved auto-reply system and method is provided with reference to specific exemplary embodiments. It is to be understood that though specific email systems are used to provide contextual examples of a system and method for automatically responding to a message sent to a user at an email server, the present disclosure is equally applicable to any other email systems as would be apparent to any person skilled in the art of email systems.
In one embodiment there is provided a method at an email server for automatically responding to an email message sent to a recipient comprising receiving an enable communication from the recipient, receiving the email message from a sender subsequent to receiving the enable communication, determining at least one personal identifier of the sender of the message, populating an auto-reply message with the at least one personal identifier and sending the auto-reply message to the sender of the message.
In another embodiment there is provided an email server capable of automatically responding to an email message sent to a recipient comprising, a receiving module adapted to receive the message from a sender, a determining module adapted to determine at least one personal identifier of the sender of the message, a populating module adapted to populate an auto-reply message with the at least one personal identifier and a sending module adapted to send the auto-reply message to the sender of the message.
In yet another embodiment there is provided a method for setting an automatic response to a message sent to a user in a personalized manner comprising accessing an automatic response setup application, the application having a personalize option, enabling the personalize option within the setup application, confirming the enablement and sending a message representative of the enabling in response to the confirming.
Email servers 120 and 121 are computing systems configured to serve email. Common functionality of email servers 120 and 121 include managing user accounts, receiving email, sending email, storing email, enabling user configuration of user accounts and the like as is well known in the art. Examples of commercially available email servers include Microsoft® Exchange®, Webmail, Novell® GroupWise® and Lotus® Domino®.
As shown in
To help illustrate email communications in the email system of
To help illustrate the auto-reply functionality in the email system of
Subsequent to Dan enabling auto-reply messaging, Cathy sends Dan email 150 using the email client of computing system 131. Email 150 is received by email server 121 which sends a copy of email 150 to email server 120 as email 151 as described above. Upon receipt of email 151 email server 120 inspects the specified location of Dan's email user account and ascertains that Dan has enabled auto-reply messaging. Upon ascertaining that Dan has enabled auto-reply messaging, email server 120 sends the auto-reply message as email 152 to Bob (via email server 121 and email 153) at computing system 131 in automatic response to email 151.
An improved auto-reply system is provided through the enablement of a personalization option when enabling auto-reply messaging. Once the personalization option has been enabled, any email messages received at an email server for a corresponding user account will have a personalized auto-reply message sent in response. The personalized auto-reply message is constructed by the email server using verifiable personal information as determined form the received email message.
According to a preferred embodiment, email server 120 is configured to determine at least one personal identifier of a received email message's sender, such as a first name or last name, a company, a nickname or a display name. Upon determining the personal identifier(s) of the email message's sender, email server 120 is configured to populate a personalized auto-reply email message with at least the personal identifier(s). After populating the personalized auto-reply email message, email server 120 sends the personalized auto-reply email message to the email message's sender in automatic response to the received email message.
To provide further clarity on the above exemplary improved auto-reply system, a specific exemplary email communication will now be detailed. Email 160 (and subsequently email 161) is exemplified by the following:
Personalized auto-reply email message 162 (and subsequently 163) is exemplified by the following, wherein the determined at least one personal identifier is Cathy's first name ‘Cathy’:
Another personalized auto-reply email message 162 (and subsequently 163) is exemplified by the following, wherein the determined at least one personal identifier is Cathy's nickname ‘Cat’:
The foregoing examples are used to provide simple exemplary email communications within the email system of
Reference is now made to the flow diagram of
An enable communication, sent as communication 200, is a data message sent from recipient 101 to email server 120 in response to Dan instructing the email client on computing system 101 to enable personalized auto-reply messaging. The information contained in communication 200 comprises indicia that Dan wants to have any email messages received for his user account at email server 120 automatically replied to with a personalized auto-reply message. Communication 200 may further include the general text Dan specifies to be used by email server 120 for composing a personalized auto-reply message. Communication 200 has a format which is dependent on the specific type of email client at recipient 101. For example, if a webmail email client is used, communication 200 is a Hyper Text Transfer Protocol (HTTP) message. Alternatively, if a Microsoft® Outlook® email client is used, communication 200 is a Messaging Application Programming Interface (MAPI) message. Other implementations are possible. A disable communication (not shown) is a data message sent from recipient 101 to email server 120 in response to Dan instructing the email client on computing system 101 to disable personalized auto-reply messaging, whereby email messages received at email sever 120 for Dan are not automatically replied to by email server 120.
Communication 205 is a data message sent from email server 120 to email user account data store 250 sent in response to email server 120 having received communication 200. The information contained in communication 205 comprises indicia that Dan wants to have any email messages received for his user account at email server 120 automatically replied to with a personalized auto-reply message. Communication 205 may further include the general text Dan specifies to be used by email server 120 for composing a personalized auto-reply message. Email user account data store 250 stores the information contained in communication 205. The information contained in communication 205 or the information stored by email user account data store 250 may or may not be the same information included in communications 200 and 205, but may be a representation of such information in a machine-readable or machine-optimized format.
Subsequent to communication 205, Bob, using an email client on computing system 102, sends an email message to Dan, whose email user account is managed by email server 120. The email sent from Bob to Dan is received by email server 120 as communication 210.
Upon receipt of communication 210, email server 120 handles communication 210 by, for example, parsing the communication, identifying the intended recipient email user account and storing the parsed data in email user account data store 250. Upon identifying the intended recipient's email user account, email server is configured to query email user account data store 250 to determine if personalized auto-reply has been enabled for the recipient's email user account. Such a query is exemplified by communication 215 which is sent from email server 120 to email user account data store 250 requesting the personalized auto-reply status of the recipient's email user account. In response to the query of communication 215, email user account data store 250 sends communication 220 which contains the status of the personalized auto-reply status of the intended recipient of communication 210. By way of example, email server 120 queries email user account data store 250 about the personalized auto-reply status currently stored for Dan's email user account in communication 215. Email user account data store 250 responds to the query with communication 220 which includes information that Dan wants any email messages received for his user account at email server 120 to be automatically replied to with a personalized auto-reply message and the general text to be used, as supplied to email user account data store 250 in communication 205.
Email server 120 examines communication 220 and determines that a personalized auto-reply message should be sent in response to communication 210. Communication 225 is an email message automatically sent by email server 120 in response to communication 210, which comprised an email message from Bob to Dan. Communication 225 includes personalized information as will be discussed in detail below.
In an alternative embodiment, communications 200 and 205 may be substituted with a single communication; 200a. Communication 200a is a data message sent from recipient 101 to email user account data store 250. Communication 200a is sent in response to Dan instructing the email client on computing system 101 to enable personalized auto-reply messaging. The information contained in communication 200a comprises indicia that Dan wants to have any email messages received for his user account at email server 120 automatically replied to with a personalized auto-reply message. Communication 200a may further include the general text Dan specifies to be used by email server 120 for composing the personalized auto-reply message. Communication 200a has a format which is dependent on the specific type of email client used by Dan. For example, in the case where Dan is using a webmail email client, communication 200a is a Hyper Text Transfer Protocol (HTTP) message; whereas in the case of Dan using Microsoftg Outlook®, communication 200a is a Messaging Application Programming Interface (MAPI) message. Email user account data store 250 stores the information contained in communication 200a for further use. The information contained in communication 200a or the information stored by email user account data store 250 may or may not be the same information included in communication 200a, but may be a representation of such information in a machine readable or machine optimized format.
It is also to be understood that the communications described in relation to
Reference is now made to
Upon accessing the setup application, the user selects personalized auto-reply in step 305. This is accomplished by, for example, the user checking a check box on the setup application's user interface or in any other commonly known manner. Step 305 includes user confirmation through the actuation of a button or other similar member on the setup application's user interface. For example, the user checks a check box which indicates that the personalized auto-reply feature is enabled and then the user presses a button which reads ‘Ok’.
In a further embodiment, in addition to selecting personalized auto-reply at step 305, the user may enter a desired general text for use in personalized auto-reply messages. For example, the user may enter desired text into a text box on the user interface and then press a button which reads ‘Ok’.
Once the user has selected personalized auto-reply, this selection is stored during step 310. Information stored during step 310 includes the fact that the user wishes to enable personalized auto-reply messaging as well as, optionally, the desired text to be used for personalized auto-reply messages. The information stored during step 310 may be stored at email server 120 or in email user account data store 250 for example.
A method similar to the method shown in
Reference is now made to
Subsequent to receiving the email message in step 400, email server 120 determines if the recipient email user account is presently configured to send auto-reply messages in response to received email messages in step 405. Step 405 is carried out by email server 120 accessing information stored in email user account data store 250 in relation to the recipient email user account. If the information retrieved from email user account data store 250 indicates that auto-reply is not enabled, the method ends at step 407.
If the information retrieved from email user account data store 250 indicates that auto-reply is enabled, email server 120 further accesses information stored in email user account data store 250 in relation to the recipient email user account's personalization preferences (i.e. does the user wish to personalize auto-reply messages and/or the general text to be used for personalizing auto-reply message) in step 410. If the information indicates that the recipient email user account does not want auto-reply messages to be personalized, the method ends at step 412 wherein a non-personalized auto-reply message is sent.
At step 415 email server 120 determines the personal identifier to be used in the personalized auto-reply message which is sent in response to receiving the email message in step 400. Step 415 involves ascertaining information about the sender of the email message received in step 400 and is discussed in further detail in relation to
Using the personal identifier ascertained or determined in step 415, email server 120 composes and sends a personalized auto-reply message to the sender of the email message received in step 400. Step 410 comprises email server 120 retrieving or otherwise providing the text the user has chosen to be the general text of their personalized auto-reply message (as in step 305 of
Hey [First Name],
Thanks,
Email server 120 determines the user's first name in step 415 and uses that first name to replace the string [First Name] using any commonly known method in the art. Once all identified strings having been appropriately replaced with personal identifier, in step 420 email server 120 packages the text into an email as is well known in the art and sends the email as a personalized auto-reply message to the sender of the email message received in step 400.
By way of example, email server 120 is a Microsoft® Exchange® email server and account data store 250 is an Oracle® database and is accessed by email server 120 using MAPI as is well known. At step 405, email server 120 determines the recipient email user account's auto-reply state by requesting or examining a Boolean value stored under the enumerated MAPI tag of PR_EMS_AB_AUTOREPLY (which is stored in email user account data store 250 at 0xS800B000B for example). At step 410, email server 120 determines the recipient email user account's personalization preferences by requesting or examining a Boolean value stored under the enumerated MAPI tag of PR_EMS_AB_AUTOREPLY_PERSONALIZE (which is stored in email user account data store 250 at 0x800B000C for example). In a similar manner, email server 120 determines the subject of the personalized auto-reply email message and the general text of the personalized auto-reply email message by requesting or examining string values stored under the enumerated MAPI tags of PR_EMS_AB_AUTOREPLY_SUBJECT and PR_EMS_AB_AUTOREPLY_MESSAGE respectively.
It is to be understood that steps 405 and 410 may be combined into a single step which may further include determining the desired general text for use in composing the personalized auto-reply.
Reference is now made to
At step 500 a received email message is parsed to extract a personalization key using any of a variety of well known parsing methods. In one embodiment the personalization key is the reply email address as specified in a header of the received email message. The personalization key is used in attempts to farther identify personal identifier of the sender of the received email message such that the auto-reply can be personalized.
In one embodiment, using the key extracted from the received email message in step 500 (e.g. the reply email address), at step 505 email server 120 searches the address book of the recipient of the received email message for an address book entry which corresponds to the key. Step 505 utilizes the reply email address parsed from the message header of the received email message to uniquely identify an entry in the address book. The entry in the address book contains personal information about the sender of the received email message as entered and/or verified by the recipient of the email message. The personal identifier contained in the address book entry, which can be used to generate the personalized auto-reply email message, includes a first name, a nickname, a full name and/or a title for example. An address book is listing of the contacts of a user. A user's address book is typically stored on or is accessible by email server 120 and can be updated by the user through their email client.
At step 510, if personal identifier was found during step 505, the method proceeds to step 420 of
Alternatively, if personal identifier is not found in step 510, the method proceeds to step 515. In step 515 email server 120 searches a global address list for an address list entry which corresponds to the key. Step 505 utilizes the reply email address parsed from the message header of the received email message to uniquely identify an entry in the global address list which contains personal identifier that is used to generate a personalized auto-reply message. The entry in the global address list contains personal information about the sender of the received email message as entered and/or verified by an administrator of email server 120. The personal identifier contained in the global address list's entry, which can be used to generate the personalized auto-reply email message, includes a first name, a nickname, a full name and/or a title for example. A global address list is a shared address book which can be accessed by members of a domain or corporation. Typical examples of a global address list include the Global Address List (GAL) in Microsoft® Exchange® and the Global Address Book in Lotus® Domino®.
At step 520, if personal identifier was found during step 515, the method proceeds to step 420 of
Alternatively, if personal identifier is not found in step 515, the method proceeds to step 525. In step 525 email server 120 will search the body of the received email message for personal identifier. Personal identifier in the body of an email may be recognized using searching methods such as string matching or regular expressions for example. By way of example, email server 120 searches the body of the received email messages for any of the following strings: “Thanks,\r\n”, “Thanks.\r\n”, “Thank you,\r\n”, Thank you.”, “Farewell,\r\n”, “Goodbye\r\n”, “Bye.\r\n” etc. These strings will be recognized by those in the art as exemplary concluding statements which are typically followed by the name of the sender of the received email. The ‘\r\n’ strings will be recognized by those in the art as carriage returns. Concluding statements often include a formal goodbye followed by a comma, a carriage return and then the message's composer's name. For example, a typical email message may take the form:
Hi Bob,
Talk to you later,
Dan
In the preceding example, “Talk to you later,\r\n” is the concluding string which email server 120 locates in its search. Upon locating the concluding string, email server 120 assesses subsequent text in the body of the email message and identifying if it is personal identifier. Email server 120 identifies that the subsequent line of text in the body of the email message is personal identifier, by, for example, matching the found string against a listing of names, measuring the length of the text or by applying generally known name recognition algorithms.
At step 530, if personal identifier was determined at step 525, the method advances to step 420 where the text found in step 525 is used as personal identifier to compose and send a personalized auto-reply email message. At step 530, if personal identifier is not located during step 525, the method proceeds to step 412 where a non-personalized auto-reply email message will be sent.
It is to be understood that steps 505, 515 and 525 may occur in a different order that the order specified herein in certain embodiments.
The foregoing examples are meant to provide a skilled reader with the detailed information required to practice a system and method for automatically responding to a message sent to a user in a personalized manner at an email server. The foregoing examples are in no means limited to the presented embodiments. It is to be understood that email server 120 can be any suitable email server, whether a single email server or a unified collection of distributed email servers. Email server 120 can be generally described as comprised of a multitude of modules, each module adapted to execute specific functions as is well known.